自然數概念指用以計量事物的件數或表示事物件數的數 。 即用數碼0,1,2,3,4,……所表示的數 。自然數由0開始 , 乙個接乙個,組成乙個無窮集體。
因數是指整數a除以整數b(b≠0) 的商正好是整數而沒有餘數,我們就說b是a的因數。
質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。
質因數(素因數或質因子)在數論裡是指能整除給定正整數的質數。除了1以外,兩個沒有其他共同質因子的正整數稱為互質。因為1沒有質因子,1與任何正整數(包括1本身)都是互質。正整數的因數分解可將正整數表示為一連串的質因子相乘,質因子如重複可以用指數表示。根據算術基本定理,任何正整數皆有獨一無二的質因子分解式。只有乙個質因子的正整數為質數。
每個合數都可以寫成幾個質數(也可稱為素數)相乘的形式 ,這幾個質數就都叫做這個合數的質因數。如果乙個質數是某個數的因數,那麼就說這個質數是這個數的質因數;而這個因數一定是乙個質數。
計算15的最大質因數?
我們都知道能被15整除的正整數是:1,3,5,15;也就是我們所說的因數;
即:1 x 15 = 15; 3 x 5 = 15;
其中滿足質數的因數為:3,5;則,最大質因數為:5;
看了例子是不是瞬間明白了。
接下來。。。
得到所有的因數
根據上面的分析,我們得到以下因數:
//以15為例
//定義乙個引數
int n = 15;
//定義集合接收所有因數
listfactors = new list();
for (int i = 1; i <= n; i++)
}
得到結果:1,3,5,15根據因數得到質數
判斷該數除1和本身,是否能被其他數整除,若不能,則該數為質數。
//定義集合接收
listzhishu = new list();
foreach (int num in factors)
} if (!s&&num>1)//大於1的自然數
}
得到結果:3,5最終結果,取最大值
直接通過max()方法獲取
int maxvalue = zhishu.max();
console.writeline("最大因質數:" + maxvalue);
最後得到結果:5c#控制台輸出:
輸入乙個自然數n,求小於等於n的素數之和?
問題描述 輸入乙個自然數n,求小於等於n的素數之和 例如 樣例輸入 2 樣例輸出 2。解題思路 1 什麼是素數 素數 prime number 又稱質數,有無限個。乙個大於1的自然數,除了1和它本身外 因為1既不是素數,也不是合數 不能被其他自然數 質數 整除,換句話說就是該數除了1和它本身以外不再...
求n個連續自然數之和為乙個非負整數的陣列
def find combinations num n int num 0.5 這裡直接開根號,縮小迴圈範圍 res 前可以轉化成中間項的倍數,所以下面for迴圈求得是中間項的值 for i in range 2 n 1 if num i 0 mid 01 i 中間數 mid 02 int num ...
PAT 自然數的任意位數字 迴圈版 (C語言)
請編寫函式,用迴圈方法求自然數的任意一位數字。函式原型 int digit int number,int index 說明 引數 number 為非負整數,index 為數字的索引號 個位編號為 0,十位編號為 1,百位編號為 2,以此類推。函式值為 number 的第 index 位數字。若 in...