德尔福 - 素数

时间:2016-02-05 14:05:30

标签: delphi pascal

素数(或素数)是大于1的自然数,除了1和自身之外没有正除数。 我正在做的是检查数字是否为素数:

begin
writeln('give a number ');
readln(N);  S := 0;
for I := 1 to N do
if N mod I = 0 then
 S := S + 1 ;

 if S = 2 then
 writeln('Prime')
 else
 writeln('not prime');
 sleep(50000);

end.

我现在试图使用这个来获取1到100之间的所有素数(或任何其他数字):

begin
writeln('give a number ');
readln(N);

for I := 1 to N do  begin
        S := 0;
 for J := 1 to I do
  begin
 if I mod J = 0 then
 S := S +1 ;  if S = 2 then
       writeln(I);

 end;
   end;
sleep(500000000000);
 end.

但它并没有真正起作用。

1 个答案:

答案 0 :(得分:1)

我能够解决它:

begin
writeln('give a number ');
readln(N);

  for I  := 1 to N do begin
 S := 0;
 for J := 1 to I do
 begin
if I mod J = 0 then
        S := S +1 ;

 end;   
 if S = 2 then writeln(i);


 end; sleep(50000);
end.