方法一:根據(jù)特點(diǎn)直接找質(zhì)數(shù)(prime number)又稱素?cái)?shù),,有無限個(gè)。質(zhì)數(shù)定義為在大于1的自然數(shù)中,,除了1和它本身以外不再有其他因數(shù),。 #include<iostream>
#include<cmath>
using namespace std;
int main() {
//尋找素?cái)?shù)的第一種方法
bool isPrime;
for (int i = 2; i < 100; i ) {
isPrime = true;
for (int j = 2; j < i; j ) {
if (i%j == 0) isPrime = false;
}
if (isPrime) cout << i << ' ';
}
return 0;
}
方法二:篩法求素?cái)?shù)埃拉托斯特尼篩法,,簡(jiǎn)稱埃氏篩或愛氏篩,是一種由希臘數(shù)學(xué)家埃拉托斯特尼所提出的一種簡(jiǎn)單檢定素?cái)?shù)的算法,。要得到自然數(shù)n以內(nèi)的全部素?cái)?shù),,必須把不大于根號(hào)n的所有素?cái)?shù)的倍數(shù)剔除,剩下的就是素?cái)?shù),。利用這個(gè)方法,,我們可以建立一個(gè)從2到Math.sqrt(n)的循環(huán),依次刪除這些數(shù)的倍數(shù),。代碼如下:
|
|