//一个数的输出恰好等于它的因子之和,这个数就称为“完数”。例如:6=1+2+3
//编程,找出1000以内的所有完数。
//因子:出去这个数本身的其他约数
代码:(亲写有效)
class dada{
public static void main(String[] args) {
int add = 0; //定义add以进行因子的累加
System.out.println("1000以内质数如下: ");
for(int i = 1;i <= 1000;i++){
for(int j = 1;j <= i - 1;j++){ //可用j <= i/2,节省时间
if(i % j == 0){ //符合条件,j即为i的因子
add += j;
}
}
if (i == add){
System.out.print(i + " ");
}
//因add定义在循环之外,此步需重置add,得以让add以初始赋值状态重新进入下一次i的外层循环
add = 0; //将int add = 0;放入第一个for循环下,则不用此操作
}
}
}
更多推荐
Java“完数”,代码详解,
发布评论