猿问

java 练习9

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。


狼顾之相1995
浏览 1216回答 2
2回答

阿旭_

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" : ""); } } } }

Crafon

遍历1到n,找出所有因子并求和,求出总和后与n比较,如果相等就输出来,n从1到1000
随时随地看视频慕课网APP

相关分类

Java
我要回答