编写应用程序求1000之内的所有完数。 【问题描述】一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序求1000之内的所有完数。

【问题描述】一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序求1000之内的所有完数。

【输入形式】
【输出形式】输出完数,要求按行输出,并且有说明文字
【样例输入】

【样例输出】wangshu:6

                wangshu:28

                wangshu:496

【样例说明】
【评分标准】 严格按照格式输出

 
 
数据规模不大,所以直接枚举了。
check() 函数判断是不是完数,然后把该数的所有因子加和。
最后 return sum == i;


public class _2WanShu {
	public static void main(String[] args) {

		for(int i = 1;i < 1000;++i)
		{
			if(check(i))
			{
				System.out.println("wangshu:"+i);
			}
		}
	}

	private static boolean check(int i) {
		int sum=0;
		for(int j = 1;j<i;++j) {
			if(i%j==0)
				sum+=j;
		}
		return sum == i;
	}
}

你可能感兴趣的:(编写应用程序求1000之内的所有完数。 【问题描述】一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序求1000之内的所有完数。)