c++中用划数法求一个素数数列的代码
答案:1 悬赏:30 手机版
解决时间 2021-04-30 03:10
- 提问者网友:做自己de王妃
- 2021-04-29 23:41
c++中用划数法求一个素数数列的代码
最佳答案
- 五星知识达人网友:玩世
- 2021-04-30 00:30
#define N 1000 //找出1000以内的素数
for(int i=0;i<N+1;data[i]=i,i++); //为 data[1]~data[N]赋初值1~N
data[1]=0; //1不是素数
int base = 2; //从第一个素数开始,2
while(base<N+1)
{
//删除所有为素数(data[base])倍数的整数
for(int i = base+data[base];i<N+1;i+=data[base])
if(data[i])
data[i]=0; //存放合数的位置全部置零
//找到下一个素数,并重复以上步骤
for(base++;data[base]==0&&base<N+1;) base++;
}
//把数组中的素数(非零数)打印出来。
for(int i=1;i<N+1;i++)
if(data[i])
cout<<setw(3)<<data[i];
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯