#include<iostream> using namespace std; #define MAX 10000 int flag[MAX]; int prime[MAX]; int primesize = 0; int min_prime[MAX]; void getprime(int n)//n以内的素数 { for (int i = 2; i <= n; ++i) { if (flag[i] == 0) prime[primesize++] = i; for (int j = 0; j <= primesize; ++j) { if (i*prime[j] > n) break; flag[i*prime[j]] = 1; min_prime[i*prime[j]] = prime[j]; if (i%prime[j] == 0) break; } } } int main() { getprime(10000); for (int i = 0; i < primesize; ++i) cout << prime[i] << endl; system("pause"); return 0; }
欧拉筛
猜你喜欢
转载自blog.csdn.net/qq_36921652/article/details/79368381
今日推荐
周排行