首页 > 其他分享 >完美的数字

完美的数字

时间:2023-06-08 21:57:26浏览次数:35  
标签:String 完美 System number int static total 数字

题目:

 * 输入正整数N,检查它是否完美输出YES或者NO。
 * 把一个数字的每一位拆分开,计算他们的阶乘再累加,如果和等于原数字,则该数字是完美的。
 * eg:
 * 145
 * 1 + 4*3*2*1 + 5*4*3*2*1  == 145
---------------------------------------------
阶层的意思:5! =   5的阶层  =   5*4*3*2*1

做法:

class Test61 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int number = scanner.nextInt();
        scanner.close();
        if (isPerfectNumber(number)) {
            System.out.println("YES");
        } else {
            System.out.println("NO");
        }
    }

    public static boolean isPerfectNumber(int number) {
        int total = 0;
        String s = String.valueOf(number);
        for (int i = 0; i < s.length(); i++) {
            Integer n = Integer.valueOf(String.valueOf(s.charAt(i)));
            int r = jieCen(n);
            total += r;
        }
        if (total == number){
            return true;
        }else {
            return false;
        }
    }

    //一个数的阶层
    public static int jieCen(int number) {
        int sum = 1;
        for (int i = 1; i <= number; i++) {
            sum *= i;
        }
        return sum;
    }

}

标签:String,完美,System,number,int,static,total,数字
From: https://www.cnblogs.com/chen-zhou1027/p/17467771.html

相关文章

  • 解决VMware中Kali虚拟机无法全屏(完美解决)
    今天打开VMware中的Kali虚拟机出现了个怪事,就是显示是二分之一,有部分地方空着并没有占满。之后就使用了以下方法解决:设置分辨率:但是,设置分辨率的效果并不理想,不是容易过大,就是容易过小,很难刚刚好。于是就:使用VMware自带功能“立刻适应客户机”完美解决。......
  • 第十一章--FCF中的基本数字格式
    时间:2009-01-1617:48   作者:道长A喜欢本页内容吗?那就收藏到您的博客吧。如果您有以下书签网站的账号,点击它即可收藏。谢谢您的支持!CSDNIEQQ百度POCOYahoo新浪365Key天极和讯博拉Live......
  • 75 验证码 大小写字母a_Z(随机区间需要去掉6个非法的值,不合法+6)和数字拼接
    packagecom.fqs.test;importjava.util.Random;publicclasshello{publicstaticvoidmain(String[]args){//定义方法实现随机产生一个5位的验证码//验证码格式长度5//前四位是大写的字母或者小写的字母abcD5//最后一位......
  • 数字签名与数字证书
    先看一下百度百科对数字签名和数字证书的解释:数字签名:将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。将该报文摘要值用发送者的私人密钥加密......
  • 交替数字和
    给你一个正整数n。n中的每一位数字都会按下述规则分配一个符号:最高有效位上的数字分配到正号。剩余每位上数字的符号都与其相邻数字相反。返回所有数字及其对应符号的和。示例1:输入:n=521输出:4解释:(+5)+(-2)+(+1)=4示例2:输入:n=111输出:1解释:(+1)+(-......
  • 完美数
    对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为「完美数」。给定一个 整数 n, 如果是完美数,返回true;否则返回false。示例1:输入:num=28输出:true解释:28=1+2+4+7+141,2,4,7,和14是28的所有正因子。示例2:输入:num=7输......
  • 深度学习项目之mnist手写数字识别实战(TensorFlow框架)
    mnist手写数字识别是所有深度学习开发者的必经之路,mnist数据集的图片十分简单,是二值化图像,像素个数为28x28。所以对于所有研究深度学习的开发者来说学会mnist数据集的模型十分有必要。以此为实例进行计算机视觉如何进行识别出图片中的数据。MNIST手写数字数据集来自美国国家标准与......
  • 对象和数字对象
    什么是对象如果你学过驾驶,八成被教练骂过吧?可能你的脑海中现在还回荡着教练粗暴的吼叫:踩离合器,档位杆推到1挡位置!!慢慢抬起脚,松离合器仔细分析上面的话,大家可以发现,我们的语言描述通常会涉及到对象:对象就是语言描述中涉及的物体。比如上面的离合器、档位杆,就是对......
  • 系统工程(26)数字化转型
    数字化是使用新一代信息技术实现推动改变整个商业模式,使用整个产业链重构,推动改进企业与客户的关系,改进企业和合作伙伴的关系。信息化与数字化的区别:信息化是处理的对象是一个整体。数字化是信息化处理对象的内部具体信息。如信息化是一个PDF文件是传输,而数字化是这个PDF里面......
  • 输入正整数N,检查它是否可以被其数字之和整除
    题目:*输入正整数N,检查它是否可以被其数字之和整除,*输出YES或者NO。不考虑不合理的输入等特殊情况。eg:*例如:78的各位数字之和是:7+8=15,则78是一个各位数字之和能被15整除的整数。classTest53{publicstaticvoidmain(String[]args){Scannerinpu......