R 分拆素數和(埃氏篩法)

2021-10-02 18:14:20 字數 655 閱讀 9196

把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?

input

輸入包含一些正的偶數,其值不會超過10000,個數不會超過500,若遇0,則結束。

output

對應每個偶數,輸出其拆成不同素數的個數,每個結果佔一行。

sample input

3026

0sample output32

埃氏篩法模板

void

filter

(int n)

}}

#include

#include

#include

#include

#include

using

namespace std;

//bool is_prime(int num)

//// }

// return true;

//}bool prime[

10000];

void

filter

(int n)}}

}int

main()

}}cout << cnt << endl;

}return0;

}

埃氏篩法 素數篩

埃式篩法 給定乙個正整數n n 10 6 問n以內有多少個素數?做法 做法其實很簡單,首先將2到n範圍內的整數寫下來,其中2是最小的素數。將表中所有的2的倍數劃去,表中剩下的最小的數字就是3,他不能被更小的數整除,所以3是素數。再將表中所有的3的倍數劃去 以此類推,如果表中剩餘的最小的數是m,那麼m...

素數 埃氏篩法

題目 求2 100以內的素數。素數 prime number 又稱質數,是指乙個大於1的自然數,除了1和它本身外,不能被整除以其他自然數。解法一 根據素數的定義,即用該數除比其小的數 1除外 都不能除盡,即為素數 public class prime if i n system.out.print ...

素數篩法(埃氏篩,線性篩)

時間複雜度o nloglogn void prime int b prime i 1則是合數 原理很簡單,所有合數可以表示為乙個質數跟另乙個數的積,列舉每個已知素數的倍數就能標記完。但很明顯,這樣做會有重複。比如12 3 4 2 6,在2這個素數進行倍數標記時會標記,在3這個素數進行倍數標記時同樣會...