Java找出1000以內的所有完數。本站提示廣大學習愛好者:(Java找出1000以內的所有完數)文章只能為提供參考,不一定能成為您想要的結果。以下是Java找出1000以內的所有完數正文
完全數:(Perfect Number)又稱完美數或完備數,是一些特殊的自然數。它所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等於它本身。如果一個數恰好等於它的因子之和,則稱該數為“完全數”。
需求:判斷並輸出1000以內的所有完全數。
題目:一個數如果恰好等於它的因子之和,這個數就稱為 "完數 "。例如6=1+2+3.編程 找出1000以內的所有完數。
public class Wanshu { public static void main(String[] args) { int s; for(int i=1;i<=1000;i++) { s=0; for(int j=1;j<i;j++) if(i % j==0) s=s+j; if(s==i) System.out.print(i+" "); } System.out.println(); } }
方法二
public class PerfectNumber { public static void main(String[] args) { System.out.println("1000以內的所有完數有:"); for (int i = 2; i < 1000; i++) {// 遍歷1000以內的所有整數 int sum = 0;// 定義和變量 for (int j = 1; j < i; j++) { if (i % j == 0) {// 滿足是i的因子,就累加 sum += j; } } if (sum == i) {// 滿足因子之和等於i就打印該完數 System.out.print(i + " "); } } } }