C语言用筛法求之N内的素数的代码

2025-02-23 10:12:23
推荐回答(2个)
回答1:

#include
#include
#include
void CreatePrime(char *primes, int n)
{
int i, j, s;
primes[0] = primes[1] = 0;
for(i = 2; i < n; i++)
primes[i] = 1;
s = sqrt(n);
for(i = 2; i<= s; i++) {
if(primes[i]) {
for(j = 2 * i; j < n; j+=i)
primes[j] = 0;
}
}
}
void main( ) {
int n, i;
char *IsPrime;
scanf("%d", &n);
IsPrime = malloc(n);
CreatePrime(IsPrime, n);
for(i = 2; i < n; i++)
if(IsPrime[i]) printf("%d\t" i);
free(IsPrime);
}

回答2:

嘿嘿!
给你个链接:

http://hi.baidu.com/redraiment/item/2167a227404ec0c9a4275a40