gpt4 book ai didi

c - Eratosthenes 筛法 C 代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:30:55 24 4
gpt4 key购买 nike

<分区>

下面的程序是利用埃拉托色尼筛法计算所有小于200万的素数的总数。总和应该等于 142913828922 而它即将到来 1179908154。此代码中的错误是什么?

#include<stdio.h>

#include<stdlib.h>

#define LIMIT 2000000

int main()
{
unsigned long long int i,j;
int *primes;
int z=1,sum;

primes = (int*)malloc(sizeof(int)*LIMIT);

for(i=2;i<LIMIT;i++)
primes[i]=1;

for(i=2;i<LIMIT;i++)
if(primes[i])
for(j=i;i*j<LIMIT;j++)
primes[i*j]=0;

for(i=2;i<LIMIT;i++)
if(primes[i])
sum+=i;

printf("total = %ld",sum);
return 0;
}

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com