使用JAVA实现完全数
一、什么是完全数?
就是一个数:它满足除了它本身以外所有的因子的和是这个数的本身,那么我们就称这个数是完全数。例如6=1+2+3;那么6就是一个完全数。
二、代码的实现:
1、实现思路:
我们可以求出它的因子,然后再进行判断。这里需要注意的两个地方是:如果我们选择顺序循环下去,然后直接把剩下的因子加上去,这会大大减轻我们的工作量,一个数它必然会有因子1,这个时候就会加上这个数本身,然后我们就要把它删掉。如果有一个数,它除以了一个因子,商和除数相等,这个时候,这个因子就会加两次。我们得去掉这种情况。
2、代码实现:
importjava.util.Scanner;public classwanquan {public static voidmain(String[] args){
Scanner sc=newScanner(System.in);int n=sc.nextInt();inti;int sum=-n;for(i=1;i*i<n;i++){if(n%i==0){
sum+=i;if(n/i!=i){
sum+=n/i;
}
}
}if(sum==n){
System.out.printf("This is perfect");
}else{
System.out.printf("This is not perfect");
}
}
}