当前位置: 首页 > news >正文

算法-判断快乐数

编写一个算法来判断一个数 n 是不是快乐数。

「快乐数」 定义为:

  • 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。
  • 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。
  • 如果这个过程 结果为 1,那么这个数就是快乐数。

如果 n 是 快乐数 就返回 true ;不是,则返回 false 。

示例 1:

输入:n = 19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1

示例 2:

输入:n = 2
输出:false

提示:

  • 1 <= n <= 2^31 - 1
    //经过try catch验证,无论输入什么结果,最后都会在1000以下的数字里重复import java.util.HashSet;
    import java.util.Set;public class Solution {public static int ab(int n){int sum=0;while (n/10>=0&&n>0){sum=sum+(n%10)*(n%10);n=n/10;}return sum;}public static boolean isHappy(int n) {Set<Integer> seen = new HashSet<>();try {double k=1;while (true){if(ab(n)==1){return true;}else {n=ab(n);}if(k>100){return false;}k++;}}catch (Exception e){return false;}}public static void main(String[] args) {System.out.println(isHappy(2));}
    }
    


http://www.mrgr.cn/news/82100.html

相关文章:

  • windows蓝牙驱动开发-生成和发送蓝牙请求块 (BRB)
  • Delete `␍`eslintprettier/prettier
  • js: 区分后端返回数字是否为null、‘-’ 或正常number类型数字。
  • C++并发编程之多线程环境下使用无锁数据结构的重要准则
  • qt QPainter setViewport setWindow viewport window
  • SpringCloud微服务:基于Nacos组件,整合Dubbo框架
  • Scrapy和Selenium结合使用完整步骤
  • 物品租赁系统的设计与实现
  • C语言实现贪吃蛇游戏
  • C++新特性||线程协程(代码解析1)
  • 探索 .idea 文件夹:Java Maven 工程的隐形守护者
  • c#String和StringBuilder
  • UE5材质节点SimpleGrassWind
  • Unity-Mirror网络框架-从入门到精通之Mirror简介
  • Linux(13)——网络概述
  • NLP模型工程化部署
  • Mybatis 为什么不需要给Mapper接口写实现类,为什么要使用代理而不是硬编码?
  • 数据库的概念和操作
  • day22-YUM与开源项目(Web运维)
  • 我的JAVA-Web进阶--Mybatis
  • ES elasticsearch-8.17.0-windows-x86_64使用
  • vue3学习笔记(11)-组件通信
  • 【阅读笔记】《基于区间梯度的联合双边滤波图像纹理去除方法》
  • STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
  • 深度学习blog-Transformer-注意力机制和编码器解码器
  • UE5材质节点BumpOffset