使用JAVA实现完全数

一、什么是完全数?

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

 

posted @   Tomhard  阅读(365)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示