判斷乙個質數我們往往直接暴力,可如果是要找出從1到n的所有質數,並將它們存在乙個陣列裡時,我推薦還是使用推法求質吧。
思路很簡單,就是從2開始列舉到n,每次用已經找到的質數去判斷這個數是不是質數,如果是就加到陣列裡,否則扔掉就ok了。
**實現並不難,就是乙個簡單的模擬。
(ps:nr是指質數個數的上限)
# include
# include
# include
# include
# include
using
namespace std;
# define for(i, a, b) for(int i = a; i <= b; i++)
# define _for(i, a, b) for(int i = a; i >= b; i--)
const
int nr =
100000
;int n;
int prime_cnt;
int prime[nr +10]
;int
main()
if(flag) prime[
++prime_cnt]
= now;
now++;}
for(i,
1, prime_cnt)
printf
("%d "
, prime[i]);
puts(""
);return0;
}
god bless you for ever! 求n的質因子
質因子 或質因數 在數論裡是指能整除給定正整數的質數。根據算術基本定理,不考慮排列順序的情況下,每個正整數都能夠以唯一的方式表示成它的質因數的乘積。兩個沒有共同質因子的正整數稱為互質。因為1沒有質因子,1與任何正整數 包括1本身 都是互質。只有乙個質因子的正整數為質數,質數的質因子就是它本身。將乙個...
順推歸納法 順推歸納法
順推歸納法 forwards induction 編輯 什麼是順推歸納法 順推歸納法是指根據博弈方前面階段的行為,包括偏離特定均衡路徑的行為,推斷他們的思路並為後面階段博弈提供依據的分析方法。考慮的是博弈方有意識偏離子博弈精煉納什均衡和顫抖手均衡路徑的可能性,而不是偶然錯誤。編輯 順推歸納法的分析 ...
利用Eratosthenes篩選法計算質數
演算法第1步就是寫下從3至某個上限之間的所有奇數。在演算法的剩餘部分,遍歷整個列表並剔除所有不是質數的奇數。在3之後把每逢第3個數 3的倍數 剔除。完成這一步之後,輪到5,將所有5的倍數剔除。這樣依次類推 反覆進行,最後列表中未被剔除的數均為質數。這裡可能讀者會有問題了,為什麼輪到4 6 8 10等...