首页 > 编程语言 >使用JAVA实现完全数

使用JAVA实现完全数

时间:2022-10-31 20:48:18浏览次数:51  
标签:JAVA Scanner 实现 完全 int 因子 public

一、什么是完全数?

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

相关文章

  • 自定义注解+AOP实现参数校验
    这边是在学习了AOP和自定义注解之后,就想着将他们两个整合起来,以自定义注解进行标注,以AOP的反射获取信息,然后对代码进行加强,所以这边就简单的实现了一个进行邮箱参数格式校......
  • JavaScript 输出
    JavaScript没有任何打印或者输出的函数。JavaScript显示数据JavaScript可以通过不同的方式来输出数据:使用window.alert()弹出警告框。使用document.write()方法将......
  • Qt5气泡式聊天框——QListWidget+QPainter实现
    文章目录​​1、简介​​​​2、效果图​​​​3、实现原理​​​​4、核心代码​​​​4.1、头文件​​​​4.2、源文件​​​​5、代码分享​​​​5.1、Github​​​​5.......
  • 设计模式-策略模式在Java中的使用示例
    场景策略模式(StrategyPattern)是指定义了算法家族并分别封装起来,让它们之间可以互相替换,此模式使得算法的变化不会影响使用算法的用户。策略模式的应用场景1、系统......
  • Java 从入门到放弃12 - 《网络编程基础》
    网络编程基础为了把计算机接入互联网,就必须要使用TCP/IP协议。TCP/IP协议泛指互联网协议,其中最重要的两个就是TCP和IP协议,而使用其他网络协议都是无法接入互联网的IP地......
  • Java学习笔记day1——注释
    /*java包含以下三种注释方法:1.单行注释2.多行注释*单行多行注释对所写程序进行注释说明,增强可读性,方便自己方便别人。*还可以调试所写的代码,注释内容均不参与编译......
  • Java学习笔记day1——变量
    /*1.关键字(keyword)和保留字*所有关键字都是小写的;*保留字:现有的Java版本尚未使用,但是以后的版本可能会用:goto,const。2.标识符--identifier*凡是可以自己起......
  • Java学习笔记day1——String类型变量
    /*String(字符串)类型变量的使用*1.String属于引用数据类型;*2.String用双引号""进行定义;*/classStringTest{publicstaticvoidmain(String[]ag......
  • java构造器
    后期使用反射的时候,如果自己重写了一个构造器,那么系统不会默认添加无参构造器,建议在写类时,如果要添加有参构造方法,一定要将无参构造方法也加上classStudent{//构......
  • 云原生爱好者周刊:使用 Cilium 和 Grafana 实现无侵入可观测性
    开源项目推荐CiliumGrafanaObservabilityDemo这个项目由Cilium母公司Isovalent开源,提供了一个Demo,使用Cilium、OpenTelemetry、Tempo、Prometheus和Grafana......