一、什么是完全数?

就是一个数:它满足除了它本身以外所有的因子的和是这个数的本身,那么我们就称这个数是完全数。例如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");
}
}
}

标签: none

添加新评论