pprime.pas
来自「Magio牛的usaco源代码」· PAS 代码 · 共 58 行
PAS
58 行
{
ID:maigoak1
PROG:pprime
}
program pprime;
var
fin,fout:text;
a,b,n:longint;
i,j,k,dj,dt:integer;
tmp:string;
function digit(x:longint):integer;
var
tmp:string;
begin
str(x,tmp);
digit:=length(tmp);
end;
function prime(x:longint):boolean;
var
i:integer;
begin
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then begin
prime:=false;
exit;
end;
prime:=true;
end;
begin
assign(fin,'pprime.in');
reset(fin);
readln(fin,a,b);
if b=100000000 then b:=99999999;
close(fin);
assign(fout,'pprime.out');
rewrite(fout);
for i:=digit(a) to digit(b) do begin
if odd(i) then dj:=i div 2+1 else dj:=i div 2;
for j:=power(10,dj-1) to power(10,dj)-1 do begin
n:=j;
str(j,tmp);
if odd(i) then dt:=dj-1 else dt:=dj;
for k:=dt downto 1 do
n:=n*10+ord(tmp[k])-48;
if n>b then begin
close(fout);
halt;
end;
if prime(n) then if n>=a then writeln(fout,n);
end;
end;
close(fout);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?