C语言的一个题,要求用筛法,但并不是太会,求大神解救
答案:1 悬赏:40 手机版
解决时间 2021-11-10 15:27
- 提问者网友:謫仙
- 2021-11-10 09:08
C语言的一个题,要求用筛法,但并不是太会,求大神解救
最佳答案
- 五星知识达人网友:拜訪者
- 2021-11-10 09:31
#define MAX 1000000
int sign[MAX]={1,1,0} //如果sign[x]=0,x为素数
int prime[MAX/2]; //用来存素数prime[1]=2,prime[2]=3,prime[3]=5....
int main()
{
int i,j,l=0;
for(i=2;i<=MAX;i++) //从2开始到MAX
{
if(sign[i]==0) //如果i为素数
{
prime[++l]=i; //存入prime
for(j=2*i;j<=MAX;j+=i) //j=2*i j+=i保证了 i是j的约数,却i!=j
sign[j]=1; //把约数为i的所有值标为1
}
}
return 0;
}
int sign[MAX]={1,1,0} //如果sign[x]=0,x为素数
int prime[MAX/2]; //用来存素数prime[1]=2,prime[2]=3,prime[3]=5....
int main()
{
int i,j,l=0;
for(i=2;i<=MAX;i++) //从2开始到MAX
{
if(sign[i]==0) //如果i为素数
{
prime[++l]=i; //存入prime
for(j=2*i;j<=MAX;j+=i) //j=2*i j+=i保证了 i是j的约数,却i!=j
sign[j]=1; //把约数为i的所有值标为1
}
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯