LintCode-简单-快乐数
来源:互联网 发布:lee levis 知乎 编辑:程序博客网 时间:2024/05/16 07:28
题目要求:
一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。
问题
问题在于判断一个数不是快乐数,一开始是想用try-catch,但捕捉到异常时返回false认为该数不是快乐数,但是发现在递归中调用的try-catch并没有直接return false,而是直接报错了(JAVA忘差不多了,待查)。打印飞快乐数的每一次新值得时候发现这些值是周期出现的。比如20->4->16->37->58->89->145->42->20,因此将每次的新值保存在List中,在变为1之前重复出现了某一个值就是非快乐数。
static ArrayList<Integer> list = new ArrayList<Integer>();public static boolean isHappy(int n) { // Write your code here if(n < 1) return false; if(list.contains(n)) return false; else list.add(n); int newNumber = 0; int temp = 0; while (n != 0) { temp = n % 10; newNumber += temp * temp; n = n / 10; }//System.out.println(newNumber); if(newNumber==1){ return true; }else{ return isHappy(newNumber); }
0 0
- LintCode-简单-快乐数
- LintCode-快乐数
- LintCode:快乐数
- LintCode之快乐数
- lintcode,快乐数
- LintCode 快乐数
- lintcode--快乐数
- LintCode之快乐数
- lintcode:快乐数
- LintCode 488快乐数
- [Lintcode] #488 快乐数
- 快乐数-LintCode
- [LintCode 488] 快乐数 (Python)
- Lintcode快乐数问题解析
- lintcode python代码 488 快乐数
- lintcode-简单-落单的数
- 快乐数
- 快乐数
- mysql in和exist比较
- 无线网络覆盖(南阳oj199)(水题)
- 哈佛4代科学家跟踪穷人富人75年,得出的惊人结论
- 存入数据库乱码
- volley框架有没用到线程池?
- LintCode-简单-快乐数
- 循环遍历数据库中数据
- 图像处理和计算机视觉中的经典论文(部分)
- 自定义的BaseActivity
- 小型无人机地面站导航显示系统设计
- 工厂三兄弟之工厂方法模式
- 每日一vim(16-17)Visual模式
- Java关键字(四)static关键字(静态代码块)
- Coin Test(南阳oj204)(水题)