用java或C語言找到10000000以內的完美數 - tw511教學網
文章推薦指數: 80 %
用java或C語言找到10000000以內的完美數. 2020-10-02 12:00:01. 首先要知道完美數的計算公式,如果用迴圈來寫會超時的計算公式:如果2^p-1為素數, ...
技術文章»用java或C語言找到10000000以內的完美數
用java或C語言找到10000000以內的完美數
2020-10-0212:00:01
首先要知道完美數的計算公式,如果用迴圈來寫會超時的計算公式:如果2^p-1為素數,那麼(2^p-1)*(2^(p-1))為完美數,只需要去遍歷p就可以了10000000萬的話,遍歷到30就妥妥的夠了,注意結束條件不要因為相乘導致越界。
下面是java和C語言實現的程式碼,語法相識,所以差不多。
目前世界上已知的完美數為49個,整型範圍內只有5個,如果沒有其他方法可以打表輸出,下面是整型範圍內的5個完美數
6
28
496
8128
33550336
Java程式碼
packagezhh_2;
importjava.lang.Math;
publicclasswanMeiShu{
staticintPrime(intn){
if(n==1)
return0;
intk=(int)Math.sqrt(n);
for(inti=2;i<=k;i++)
if(n%i==0)
return0;
return1;
}
publicstaticvoidmain(String[]args){
for(inti=2;i<1000;i++){
intk=(int)(Math.pow(2,i)-1);
if(Prime(k)==1){
intx=(int)(Math.pow(2,i-1)*k);
if(x<=10000000)
System.out.println(x);
elsebreak;
}
}
}
}
C語言程式碼
#include
延伸文章資訊
- 1JAVA 完全數 - IT人
完全數,除了本身之外的所有因子之和等於本數* @author 樑勝彬* 2020-10-13 * */public class FullNumber { ... JAVA 完全數. 李氏神魔捻 ...
- 2Java—10000000以內完美數
主題: java. 摘要: 完美數的定義:所有的真因子(即除了自身以外的約數)的和恰好等於它本身。 例如: 6=1+2+3 28=1+2+4+7+14 496=1+2+…
- 3完美數-java - 台部落
算法一import java.util.Scanner; //完美數計算/* 一個數等於它的真約數之和真約數=一個數的除它本身的其它約數eg 6=1+2+3 */ public class ...
- 4Java找出1000以內的所有完數- IT閱讀
一個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.程式設計找出1000以內的所有完數. 完全數:(Perfect Number)又稱完美數或完備 ...
- 5Java找出1000以內的所有完數 - 程式前沿
完全數:(Perfect Number)又稱完美數或完備數,是一些特殊的自然數。它所有的真因子(即除了自身以外的約數)的和(即因子函式),恰好等於它本身。