輸出結果: ...
題目:一個數如果恰好等於它的因數之和,這個數就稱為"完數"。
分析:例如6=1+2+3.
編程找出1000以內的所有完數。
假如整數n除以m,結果是無餘數的整數,那麼我們稱m就是n的因數。
1 public class Problem09 { 2 //題目:一個數如果恰好等於它的因數之和,這個數就稱為"完數"。 3 //例如6=1+2+3. 4 //編程找出1000以內的所有完數。 5 //假如整數n除以m,結果是無餘數的整數,那麼我們稱m就是n的因數。 6 public static void main(String args[]) { 7 for(int i=1; i<=1000; i++) { 8 int sum = 0; 9 for(int j=1; j<i; j++) { 10 if(i%j==0) { 11 //如果可以整除,說明j是i的因數 12 sum += j; 13 } 14 } 15 if(sum == i) { 16 //若一個數的所有因數相加等於它本身,說明它是完數 17 System.out.println(sum); 18 } 19 } 20 } 21 }
輸出結果:
1 6 2 28 3 496