一道pascal题求解 编程序找出面额在1-100间的所有质数
发布网友
发布时间:2024-10-01 18:37
我来回答
共2个回答
热心网友
时间:2024-10-17 13:11
首先,笔误两个:
c:=0 而不是 c:=o;
b:=i mod a; 而不是 冒号结尾
逻辑错误:
判断c是否小于等于2 的判断应该放在里层循环之外,c的初始化也是.(b无需初始化)
更改之后的:
program ex8;
var
i,a,b,c,d:integer;
begin
for i:=1 to 100 do begin
c:=0;
for a:=1 to i do
begin
b:=i mod a;
if b=0
then c:=c+1;
end;
if c<=2
then writeln('i=',i);
end;
end.
热心网友
时间:2024-10-17 13:14
program ex8;
var
i,a,b,c,d:{这里不是“;”}integer;
begin
for i:=1 to 100 do
begin
c:=0;
for a:=1 to i do
begin
{这两句可以删了,不然你的C永远都是0或1}
b:=i mod a;
if b=0
then c:=c+1;
end;{循环要到这里停止}
if c<=2
then writeln('i=',i);{判断因子有几个}
end;
readln;
end.