一、什么是完全数?
就是一个数:它满足除了它本身以外所有的因子的和是这个数的本身,那么我们就称这个数是完全数。例如6=1+2+3;那么6就是一个完全数。
二、代码的实现:
1、实现思路:
我们可以求出它的因子,然后再进行判断。这里需要注意的两个地方是:如果我们选择顺序循环下去,然后直接把剩下的因子加上去,这会大大减轻我们的工作量,一个数它必然会有因子1,这个时候就会加上这个数本身,然后我们就要把它删掉。如果有一个数,它除以了一个因子,商和除数相等,这个时候,这个因子就会加两次。我们得去掉这种情况。
2、代码实现:
import java.util.Scanner; public class wanquan { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int i; 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"); } } }
标签:JAVA,Scanner,实现,完全,int,因子,public From: https://www.cnblogs.com/TomHard/p/16845683.html