首页 > 其他分享 >判断一个数是不是快乐数

判断一个数是不是快乐数

时间:2023-07-16 14:12:05浏览次数:24  
标签:set scanner 判断 int res 快乐 是不是 while num

public static void main(String[] args) {
        /**
         * 示例:
         *
         * 输入:19
         * 输出:true
         * 解释:
         * 1^2 + 9^2 = 82
         * 8^2 + 2^2 = 68
         * 6^2 + 8^2 = 100
         * 1^2 + 0^2 + 0^2 = 1
         *
         * #思路
         */
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        Set<Integer> set = new HashSet<>();
        while (!set.contains(num)){
            set.add(num);
            num = getNum(num);
        }
        System.out.println(num==1);
    }

    private static int getNum(int num) {
        int res = 0;
        while (num > 0){
            int k = num % 10;
            res += k * k;
            num = num / 10;
        }
        return res;
    }

  总结:对于一个数如何通过while循环获取他的个位、十位、百位的数字。

标签:set,scanner,判断,int,res,快乐,是不是,while,num
From: https://www.cnblogs.com/sgj191024/p/17557805.html

相关文章

  • 编写一个函数,判断 string 对象中是否含有大写字母。编写另-个函数,把 string 对象全都
    第一个函数的任务是判断string对象中是否含有大写字母,无须修改参数的内容,因此将其设为常量引用类型。第二个函数需要修改参数的内容,所以应该将其设定为非常量引用类型。满足题意的程序如下所示:#include<iostream>#include<Windows.h>usingnamespacestd;boolhasUpper(......
  • Day6_条件、成员运算符、身份运算符、if判断
    1.条件_第一类显示布尔值:2.条件_第二类隐式布尔值:3.not、and、or运算符:4.成员运算(not、and、or的运算优先级)和身份运算(is):5.if判断:语法1:6.if判断:语法2,if...else...7.if判断:语法3,if. ..elif...8.if判断:语法4,if:...elif:...else:.........
  • 根据区间判断结果
    问题如上图。函数公式解决:公式1=IF(G1<5,0,IF(G1<15,0.5,1))公式2=LOOKUP(G1,{-99,0;5,0.5;15,1})公式3=MEDIAN(0,1,CEILING(G1-5,10)/20)公式1是传统的If多层嵌套解法,先判断G1是否小于5,是则返回0;嵌套一层If继续判断G1是否小于15,是则返回0.5,否则返回1。除If嵌套以外,Ifs......
  • 2023-07-15:给你一个 非递减 的正整数数组 nums 和整数 K, 判断该数组是否可以被分成一
    2023-07-15:给你一个非递减的正整数数组nums和整数K,判断该数组是否可以被分成一个或几个长度至少为K的不相交的递增子序列。输入:nums=[1,2,2,3,3,4,4],K=3。输出:true。答案2023-07-15:大体步骤如下:1.初始化计数变量cnt和最大计数变量maxCnt,初始值都为1。2.从索引......
  • 2023-07-15:给你一个 非递减 的正整数数组 nums 和整数 K, 判断该数组是否可以被分成一
    2023-07-15:给你一个非递减的正整数数组nums和整数K,判断该数组是否可以被分成一个或几个长度至少为K的不相交的递增子序列。输入:nums=[1,2,2,3,3,4,4],K=3。输出:true。答案2023-07-15:大体步骤如下:1.初始化计数变量cnt和最大计数变量maxCnt,初始值都为1。2......
  • 反射 hasattr 判断属性是否存在和getattr 赋值给f,f()
    #反射classWebsite:defregister(self):print("欢迎进入注册页面")deflogin(self):print("欢迎进入登录界面")defhome(self):print("欢迎进入主页")defabout(self):print("关于我们")#将类做实例化......
  • 第四节 判断和循环
    一、if判断语句作业题目1李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能够打8折优惠。为了更省钱,李雷要不要以旧换新?请在控制台输出。训练提示用什么知识点能够对不同购买方式的价格做判断?解......
  • 快乐暑假第三周
    本周完成了对于大数据的初步学习,完成了对于Linux虚拟机得环境配置,主要完成了服务器的创建、固定ip、防火墙的关闭、HADOOP用户的创建、SSH免密、JDK部署等操作。只展示node1的图片,node2、node3步骤操作大致相同,不在展示。服务器的创建: 固定ip: 防火墙的关闭: HADOOP用......
  • 自定义类型的相等判断
    实现自定义类型的相等性判断(参考链接),步骤如下:重写Object.Equals(object)方法,调用IEquatable.Equals(T)进行实现;实现IEquatable接口,在Equals(T)方法中进行自定义的相等性判断。实现时应先进行运行时类型判断,运行时类型相同才相同,然后判断关键字段是否相等;重载==与!=运算符,非必......
  • 360浏览器10是不是把默认字体改成了微软雅黑?怎么能改回宋体?
    360浏览器10是不是把默认字体改成了微软雅黑?怎么能改回宋体?可以在360浏览器,工具---》选项(设置)---》高级设置---》网页设置内自定义字体,修改成看的比较舒服的字体。(如修改成宋体)  在下面改成你喜欢的字体即可。  ......