为了账号安全,请及时绑定邮箱和手机立即绑定

java 练习9

java 练习9

狼顾之相1995 2016-09-21 08:47:04
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
查看完整描述

2 回答

已采纳
?
阿旭_

TA贡献217条经验 获得超353个赞

public class Test37 {
	public static void main(String[] args) {
		for (int i = 2, sum = 0, j = 0; i < 1000; i++) {
			String str = "=1";// 每个数成功后要展示的字符串,如 = 1 + 2 + 3
			for (j = 2, sum = 1; j <= i / 2; j++) {
				str = (((i % j == 0) ? (sum += j) : 0) != 0) ? str + "+" + j : str;
				System.out.print((j == i / 2 && i == sum) ? (sum + str) + "\n" : "");
			}
		}
	}
}

//img1.sycdn.imooc.com//57e1e44a00011fb004250143.jpg

查看完整回答
1 反对 回复 2016-09-21
?
Crafon

TA贡献63条经验 获得超30个赞

遍历1到n,找出所有因子并求和,求出总和后与n比较,如果相等就输出来,n从1到1000

查看完整回答
反对 回复 2016-09-21
  • 2 回答
  • 1 关注
  • 1215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信