求1000以内的完全数

求1000以内的完全数
若一个自然数,恰好与除去它本身以外的一切因数的和相等,这种数叫做完全数。
例如,6=1+2+3
28=1+2+4+7+14
496=1+2+4+8+16+31+62+124
先计算所选取的整数a(a的取值1~1000)的因数,将各因数累加于m,若m等于a,则可确认a为完全数

public class Perfect {
	public void perfect(int num) {
		for (int j = 1; j <= num; j++) {
			int sum = 1;
			for (int i = 2; i <= j / 2; i++) {
				if (j % i == 0) {
					sum += i;
				}
			}
			if (sum == j) {
				System.out.println(j + "\t");
			}
		}
	}

	public static void main(String[] args) {
		Perfect p = new Perfect();
		p.perfect(10000);
	}
}

 

你可能感兴趣的:(Java基础,面试,面试相关,Java基础)