作业帮 > 综合 > 作业

pascal试求出1-10000以内所有0以内的素数的倍数,重复的只算一个,求它们的和

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/09/14 06:46:25
pascal试求出1-10000以内所有0以内的素数的倍数,重复的只算一个,求它们的和
是所有10以内的.打错了
var
sum,i,j:longint;
s:array [1..10000] of boolean;
begin
sum:=0;
fillchar(s,sizeof(s),false);
for i:=2 to 10 do if not s[i] then
begin
j:=i;
repeat
s[j]:=true;
j:=j+i;
until j>10000;
end;
for i:=1 to 10000 do if s[i] then sum:=sum+i;
writeln(sum);
end.
用数组s来记录一个数是否是素数的倍数,然后求和即可.运行结果是38583585.