var a:array[1..100] of boolean;
i,j,t:longint;
begin
for i:=1 to 100 do a[i]:=true; //初始化,假定每个数都是“素数”
a[1]:=false; //1不是“素数”
for i:=2 to trunc(sqrt(100)) do //最大的数100就只要处理到根号100,即10就够了
begin
if a[i] then //如果i是一个素数
begin
for j:=2 to 100 div i do //把100以内,i的2倍、3倍、……(100 div i)倍,都要作标记
begin
a[i*j]:=false; // i 的2~ (100 div i)都不是素数,举例:7的2,3,4,5...倍14,21,28,35...都不是素数
end;
end;
end;
t:=0;
for i:=2 to 100 do //搜索可能的素数
if a[i] then //if a[i] then ...就等同于 if a[i]=true then ...,即 i 是素数,就输出
begin
write(i,' ');
inc(t); 这些我都懂。。就上面还不太清楚
if t mod 5=0 then writeln;
ned;
end.