发布网友
共2个回答
热心网友
如下,能给满意回答吗,谢谢
program prime;
var
a : array [2..1000] of boolean;
i , p : integer;
begin
read(n);
for i:=2 to n do a[i]:=true; {a数组初始化,全部置true}
for i:=2 to n div 2 do
if a[i] then begin { a[i] 相当于 a[i]=true }
p:=i*2;
while p<=n do begin {将a中i的倍数去掉}
a[p]:=false;
p:=p+i;
end; {while}
end; {then}
for i:=2 to n do {打印素数}
if a[i]=true then write(i:4);
end.
热心网友
可以用筛法,先搞一个2到10000的数组,然后把2到10000的两倍以上的数排出。剩下的就是素数。给个赞。如果还不行的话我打个程序。