B.判断longint范围内的数是否为素数(包含求50000以内的素数表):
procedure getprime;
var
i,j:longint;
p:array[1..50000] of boolean;
begin
fillchar(p,sizeof(p),true);
p[1]:=false;
i:=2;
while i<50000 do begin
if p[i] then begin
j:=i*2;
while j<50000 do begin
p[j]:=false;
inc(j,i);
end;
end;
inc(i);
end;
l:=0;
for i:=1 to 50000 do
if p[i] then begin
inc(l);pr[l]:=i;
end;
end;{getprime}
function prime(x:longint):integer;
var i:integer;
begin
prime:=false;
for i:=1 to l do
if pr[i]>=x then break
else if x mod pr[i]=0 then exit;
prime:=true;
end;{prime}
第1题:
程序填空完成功能:求出1000以内的全部素数。 #include<iostream> using namespace std; int main(){ const int m=1000; int i,j,isprime; for (i=2;i<1000;i++){ isprime=1; for (j=i-1;j>1;j--) if (i%j==0) 【 】; if (isprime) cout<<i<<','; if (i%3==0) cout<<endl; } return 0; }
第2题:
编写被调函数,求出1000以内的素数。在主函数中调用函数输出1000以内的素数,要求每行输出5个素数。注意:判断一个数是否是素数,必须写在单独函数int isprime(int x)中,不能写在主函数中
第3题:
1. 100以内素数之和 描述 求100以内所有素数之和并输出。 素数指从大于1,且仅能被1和自己整除的整数。 提示:可以逐一判断100以内每个数是否为素数,然后求和。
第4题:
下面()是正确的判断素数程序(m>1)。
A.j=0; for (i =2; i<=m-1; i++) if (m % i != 0) j++; if(j==m-2) printf(“%d是素数n", m);
B.j=0; for (i =2; i<=m-1; i++) if (m % i == 0) j++; if(j==0) printf(“%d是素数n", m);
C.flag=0; for (i =2; i<=m-1; i++) if (m % i == 0) flag=1; if(flag==0) printf(“%d是素数n", m);
D.for (i =2; i<=m-1; i++) if (m % i == 0) i=m+2; if(i==m+3) printf(“%d是素数n", m);
第5题:
1、程序填空完成功能:求出1000以内的全部素数。 #include<iostream> using namespace std; int main(){ const int m=1000; int i,j,isprime; for (i=2;i<1000;i++){ isprime=1; for (j=i-1;j>1;j--) if (i%j==0) 【 】; if (isprime) cout<<i<<','; } return 0; }