設計說明:
1. 一個數如果恰好等於它的因數(不含數字本身)之和,這個數就稱為[完美數]。
2.請設計一程式,找出1000以內的所有完美數,執行結果如範例圖。
參考程式碼:
TQC+ Java 試題總整理
- import java.util.*;
- public class JPA303{
- public static void main(String argv[]) {
- int i, num, sum = 0;
- System.out.printf("1~1000中的完美數有: ");
- for (i=1;i<=1000;i++){
- sum=0;
- for (num=1;num<i;num++) {
- if (i%num==0)sum+=num;
- }
- if (i==sum) {
- System.out.printf("%d ",num);
- }
- }
- System.out.printf("\n");
- }
- }
TQC+ Java 試題總整理
聲明:
這裡的範例程式碼皆由本人親自編輯,歡迎轉載本教學,但請註明本網站,尊重一下作者的心血
想請教一個問題,在for迴圈裡的 sum=0; 不加的話,為何就無法顯示 6 28 496,外面不是已經有宣告sum = 0了@@感謝
回覆刪除第一層是跑1~1000的數字,而裡面的sum不歸零的話下一個數字就會繼續上個數字的總和,所以每到下一個數字都要歸零,而外面的sum有歸零只是習慣而已,沒加也是可以。
刪除感謝你的熱心
刪除