注意這道題開得非常大,有2*1e7
自己可以養成一種習慣,如果資料是很容易的話,可以自己手動輸入極限資料來測試自己的程式
#include#include#include#include#define rep(i, a, b) for(int i = (a); i < (b); i++)
#define _for(i, a, b) for(int i = (a); i <= (b); i++)
using namespace std;
const int maxn = 21234567;
bool is_prime[maxn];
vectorprime;
void get_prime() }}
int main()
return 0;
}
素數線性篩選
include include includeusing namespace std bool isprime 10000001 int pri 2000001 prin int findprime int maxn for int j 0 jmaxn break 當過大了就跳出 isprime i...
線性篩選素數
侵刪。題目 給出乙個正整數n,列印出所有從1 n的素數 即質數 關鍵是要找出乙個判斷乙個正整數n是否為素數的方法 傻瓜解法 n,n 2 1 include2 int main 3 12 這裡迴圈取到sqrt n 效率改進不少了 但顯然還是不夠理想 繼續往下看 普通篩選法 埃拉託斯特尼篩法 先簡單說一...
素數的線性篩選
出處 線性篩選法之所以稱之為線性就是因為其對於每乙個合數只用其最小的素因子將其篩選出來。如下 include include include define maxn 1000000 using namespace std int p 1000005 pri 1000005 idx 1 void ge...