试题 算法训练 8-2求完数
资源限制
时间限制:50.0s 内存限制:256.0MB
问题描述
如果一个自然数的所有小于自身的因子之和等于该数,则称为完数。设计算法,打印1-9999之间的所有完数。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
1-9999
题解:
1.定义sun来存储1-9999中的每一个数的因子之和
2.利用求余判断是不是因子
public class 求完数 {
public static void main(String[] args) {
for(int i=1;i<=9999;i++)
{
int sum=0;
for(int j=1;j<i;j++) //循环求因数
{
if(i%j==0)
{
sum=sum+j;
}
}
if(sum==i)//打印
{
System.out.println(i);
}
}
}
}