/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:求1000之内的所有完数
* 作 者: 刘向一
* 完成日期:
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:一个数如果恰好等于它的因子之和,这个数就称为“完数”
* 程序输出:
* 程序头部的注释结束
*/
public class TestComNum {
public static void main(String[] args) {
printComNum(1000);
}
static void printComNum(int m){
System.out.println(m+"之内的所有完全数为:");
int j,k,n;
for (n=1;n<m;++n)
{
for(j=1,k=0;n>j;++j)
{
if (n%j==0)
k=k+j;
}
if (n==k)
System.out.println(n);
}
}
}
运行结果:
1000之内的所有完全数为:
6
28
496