vijos_1042
捕风捉影-20min-数值
Hint
1、直接用筛10^8准备打表,打出400M的txt才意识到问题
2、用字符串构造回文验证素数
3、TLE,测试极限数据时发现没有比9989899大的回文素数
?Download vijos_1042.pas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | var f:boolean; a,b,i,j:longint; s:string; function check(n:longint):boolean; var i,j,k:longint; begin k:=round(sqrt(n)); for i:=2 to k do if n mod i=0 then begin check:=false; exit; end; check:=true; end; begin readln(a,b); if b>9989899 then b:=9989899; for i:=a to b do begin str(i,s); f:=true; for j:=1 to length(s) div 2 do if s[j]<>s[length(s)-j+1] then begin f:=false; break; end; if f and check(i) then writeln(i); end; end. |
编译通过…
├ 测试数据 01:答案正确… 0ms
├ 测试数据 02:答案正确… 0ms
├ 测试数据 03:答案正确… 0ms
├ 测试数据 04:答案正确… 0ms
├ 测试数据 05:答案正确… 0ms
├ 测试数据 06:答案正确… 0ms
├ 测试数据 07:答案正确… 681ms
├ 测试数据 08:答案正确… 556ms
├ 测试数据 09:答案正确… 0ms
├ 测试数据 10:答案正确… 619ms
————————-
Accepted 有效得分:100 有效耗时:1856ms
最新评论