1. 程式人生 > >題目:一個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.程式設計找出1000以內的所有完數。

題目:一個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.程式設計找出1000以內的所有完數。

兩個易錯點:1.sum應該在每次內迴圈結束之後進行初始化。2.對因子之和與數本身的判斷應該在內迴圈結束後。 

public class Test9 {
	public static void main(String[] args) {
		int sum,i,j;
		
		for(i = 1; i <= 1000; i++) {
			sum = 0;
			for(j = 1; j <= i/2; j++) {
				if(i % j == 0) {
					sum = sum + j;
				}
			}
			if(sum == i) {
				System.out.println(i);
			}
		}
		
	}
}