4.素数筛,用于得到[2,n)的素数
#include<stdio.h>
#include<string.h>
void Primes(int n) {
int isPrime[n+10];
memset(isPrime,1,sizeof(isPrime));
for(int i = 2; i*i < n; i++) {
if(isPrime[i]) {
for(int j = i*i; j < n; j += i) {
isPrime[j] = 0;
}
}
}
for(int i = 2;i < n;i++) {
if(isPrime[i]) printf("%d ",i);
}
}
int main() {
int n;
scanf("%d",&n);
Primes(n);
return 0;
}
网友评论