c++打印素数表(线性筛)
生活随笔
收集整理的這篇文章主要介紹了
c++打印素数表(线性筛)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從網上找打印素數的代碼,發現有bug,
現修改如下,打印100萬以內的素數:
const int MAX = 1000000; int prime[MAX], primesize; bool isprime[MAX]; void getprime(int listsize) {memset(isprime, 1, sizeof(isprime));isprime[1] = false;primesize = 0;for (int i = 2; i <= MAX && i <= listsize; i++){if (isprime[i])prime[++primesize] = i;for (int j = 1; j <= primesize && i*prime[j] < listsize; j++){isprime[i*prime[j]] = false;if (i%prime[j] == 0)break;}}for (int i = 1; i <= primesize && i < MAX; i++){std::cout << prime[i] << " ";} }int main() {getprime(1000000);getchar(); }?
總結
以上是生活随笔為你收集整理的c++打印素数表(线性筛)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2007年考研时间安排表
- 下一篇: 2011中国 · 移动开发者大会侧记