pascal 编程: 求1~N的素数 N<=1000000,请教
老师们,我做题,求1~N的素数 N<=1000000,总是超时,要求2秒内完成, 我的程式是以下:
var i,n,x:longint;
begin
readln(n);
for i:=2 to n do
begin
x:=2;
while (x<=trunc(sqrt(i)))and(i mod x<>0)do
inc(x);
if x>trunc(sqrt(i)) then write(i,' ');
end;
end.
请教教我应用什么算法?