把乙個偶數拆成兩個不同素數的和,有幾種拆法呢?
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這個素數進行倍數標記時同樣會...