LYZ • 7个月前
不好说,埃拉托色尼筛过不去就不会用欧拉筛是吧
简洁的die码:
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n, Prime[100], cnt;
bool isPrime[100];
void GetPrime(int n) {
memset(isPrime, 1, sizeof(isPrime));
isPrime[0] = isPrime[1] = 0;
for (int i = 2; i <= n; ++i) {
if (isPrime[i]) {
Prime[++cnt] = i;
}
for (int j = 1; j <= cnt && i * Prime[j] <= n; ++j) {
isPrime[i * Prime[j]] = 0;
if (i % Prime[j] == 0) {
break;
}
}
}
}
int main(){
GetPrime(100);
for(int i=1;i<=100000;++i){
if(isPrime[i])cout<<i<<" ";
}
return 0;
}
评论: