题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如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);
			}
		}
		
	}
}

猜你喜欢

转载自blog.csdn.net/from_heat/article/details/83151631