判断 n 以内的完全数有多少个!

来源:互联网 发布:linux 装gnu gcc 编辑:程序博客网 时间:2024/09/21 09:05
//如果一个数恰好等于它的因子之和,则称该数为“完全数”。import java.util.Scanner;public class Seven {public static void main(String[] args) {// TODO Auto-generated method stubint 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();}}}}

0 0