码迷,mamicode.com
首页 > 编程语言 > 详细

Java版求1000以内的完全数

时间:2016-04-16 21:16:28      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

/* 
 * 若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数,简称完数。 
 * 例如:6=1+2+3。
 * 题目:求1000以内的完全数。
 */
public class PerfectNumber {
	
	// 数字上限
	static Integer limit = 1000;

	public static void main(String[] args) {
		System.out.println(limit + "以内的完全数有:");
		fun(limit);
	}

	public static void fun(Integer limit) {
		for (int i = 1; i <= limit; i++) {
			// 定义真因子之和变量
			int sum = 0;
			for (int j = 1; j < i / 2 + 1; j++) {
				// 如果当前数能被整除
				if (i % j == 0) {
					sum += j;
				}
			}
			// 如果真因子(即除了自身以外的约数)的和恰好等于它本身,说明是完全数。
			if (sum == i) {
				System.out.println(i);
			}
		}
	}
}

输出结果:

1000以内的完全数有:
6
28
496

 

Java版求1000以内的完全数

标签:

原文地址:http://www.cnblogs.com/GalaxyNote/p/5399301.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!