//如果一个数恰好等于它的因子之和,则称该数为“完全数”。
import java.util.Scanner;
public class Seven {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 10000;
compNumber(a);
}
//判断 n 以内的完全数有多少个!
public static void compNumber(int n) {
int count = 0;
System.out.println(n + "以内的完数有:");
for(int i=1;i<n+1;i++) {
int sum = 0;
for(int j=1;j<i/2+1;j++) {
if((i%j) == 0){
sum += j;
}
}
//把if(sum == i)从第二个循环拿出来,不然会出现因子还没完全加完,但是等于i就把结果也输出来,例如24,当1+2+3+4+6+8=24时,24被打出来,但后面还有个12没加,会造成程序逻辑错误!
if(sum == i){
System.out.print(i + " ");
count ++;
if(count%5 == 0)
System.out.println();
}
}
}
}
判断 n 以内的完全数有多少个!
最新推荐文章于 2022-04-17 13:29:15 发布