/* 程序问题注释开始
-
程序的版权和版本声明部分
-
Copyright © 2020,湖南工程职业技术学院信息工程学院学生
-
文件名称: 蓝桥杯赛题
-
作 者: 李 斌
-
完成日期: 2020 年 04 月 30日
-
对任务及求解方法的描述部分
-
问题描述
如果一个自然数的所有小于自身的因子之和等于该数,则称为完数。设计算法,打印1-9999之间的所有完数。 -
样例输出
与上面的样例输入对应的输出。 -
样例输出
6
28
496
8128 -
数据规模和约定
1-9999 -
程序问题注释结束
*/
public class Mian {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//1到9999之间的完数
for(int i=1;i<10000;i++)
{
//求和
int sum=0;
//循环求因子
for(int j=1;j<i;j++)
{
//判断是否为因子
if(i%j==0)
{
//因子之和
sum+=j;
}
}
//判断因子和是否等于该数
if(sum==i)
{
//等于该数输出
System.out.println(i);
}
}
}
}
输出结果: