+ 92 = 82

  • 82 + 22 = 68
  • 62 + 82 = 100
  • 12 + 02 + 02 = 1
  • 思路:

    (1)题意为判断给定的整数是否为一个“快乐的数”,所谓快乐的数需要满足一下几个条件:将该整数的每个位上的数字的平方相加得到一个新的整数,循环对新的整数进行上述操作,如果最后所得整数收敛于1,则这样的数字为一个“快乐的数”。

    (2)首先,判断0肯定不是一个“快乐的数”;其次,对初始数字的每个位上数的平方相加,循环进行前面的操作;需要注意的是,对于可能会出现死循环的数字需要进行判断,需要判断循环的次数,这里通过测试得到循环次数为4,即如果4次循环过程中,每一次所得数字中都不收敛于1,则判断该数字不是一个“快乐的数”,否则,则是一个“快乐的数”;最后,对于那些循环得到的结果为1的数字,直接返回true,即该数字是一个“快乐的数”。

    (3)详情见下方代码。希望本文对你有所帮助。

    算法代码实现如下:

    /**
     * @author liqq
     */
    public class HappyNumber {
    	public static boolean isHappy(int n) {
    		if (n == 0)
    			return false;
    		return testhappy(0, n);
    	}
    
    	private static boolean testhappy(int number, int n) {
    		int sum = n;
    		int add = 0;
    		boolean hasone = false;
    		while (sum != 0) {
    			int square = (sum % 10) * (sum % 10);
    			add += square;
    			sum = sum / 10;
    			if (sum % 10 == 1) {
    				hasone = true;
    			}
    		}
    		number++;
    
    		int test = add;
    		while (test != 0) {
    			if (test % 10 == 1) {
    				hasone = true;
    			}
    			test = test / 10;
    		}
    
    		if (hasone == false && number > 4)
    			return false;
    
    		if (add != 1 || add % 10 != 1) {
    			boolean istrue = testhappy(number, add);
    			if (istrue)
    				return true;
    		} else {
    			return true;
    		}
    		return false;
    	}
    }

    Leetcode_202_Happy Number的更多相关文章

    1. JavaScript Math和Number对象

      目录 1. Math 对象:数学对象,提供对数据的数学计算.如:获取绝对值.向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. 2. Number 对象 :Js中提供数字的对象.包含整数.浮 ...

    2. Harmonic Number(调和级数+欧拉常数)

      题意:求f(n)=1/1+1/2+1/3+1/4-1/n   (1 ≤ n ≤ 108).,精确到10-8    (原题在文末) 知识点:      调和级数(即f(n))至今没有一个完全正确的公式, ...

    3. Java 特定规则排序-LeetCode 179 Largest Number

      Given a list of non negative integers, arrange them such that they form the largest number. For exam ...

    4. Eclipse "Unable to install breakpoint due to missing line number attributes..."

      Eclipse 无法找到 该 断点,原因是编译时,字节码改变了,导致eclipse无法读取对应的行了 1.ANT编译的class Eclipse不认,因为eclipse也会编译class.怎么让它们统 ...

    5. 移除HTML5 input在type="number"时的上下小箭头

      /*移除HTML5 input在type="number"时的上下小箭头*/ input::-webkit-outer-spin-button, input::-webkit-in ...

    6. iOS---The maximum number of apps for free development profiles has been reached.

      真机调试免费App ID出现的问题The maximum number of apps for free development profiles has been reached.免费应用程序调试最 ...

    7. 有理数的稠密性(The rational points are dense on the number axis.)

      每一个实数都能用有理数去逼近到任意精确的程度,这就是有理数的稠密性.The rational points are dense on the number axis.

    8. [LeetCode] Minimum Number of Arrows to Burst Balloons 最少数量的箭引爆气球

      There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided ...

    9. [LeetCode] Number of Boomerangs 回旋镖的数量

      Given n points in the plane that are all pairwise distinct, a "boomerang" is a tuple of po ...

    随机推荐

    1. iOS 10 适配 ATS

      一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的 ...

    2. 百度编辑器UEditor常用设置函数

      最近在研究UEditor的使用,下面是附上传送门: 这是API文档http://ueditor.baidu.com/doc/ 这是下载地址http://ueditor.baidu.com/websit ...

    3. Java 资源本地化与国际化

      资源包 在编写应用程序的时候,需要面对的一个问题是如何来处理与locale相关的一些信息.比如,页面上的一些静态文本就希望能够以用户习惯的语言显示.最原始的做法是将这些信息硬编码到程序中(可能是一大串 ...

    4. 深入浅出如何解析xml文件---上篇

      xml小伙伴们并不陌生,xml是可扩展标记语言,标准通用标记语言语言的子集,是一种用来标记电子文件使其具有结构性的标记语言.我们知道xml可以用dom与sax等方法进行解析,但是xml为什么要解析呢? ...

    5. Cartographer资料分享

      中文资料稍后补充 Introducing Cartographer By Tully Foote on October 5, 2016 10:11 AM From Damon Kohler, Wolf ...

    6. MTK8127源码编译出现的错误及相关解决办法

      /** * date:2016/8/17 * author: Y.X .YANG */ 按照开发文档提示: 1.MTK提供的开发包目录下有若干个.aa .ab .ac ...的分压缩包.此时应当将这些 ...

    7. 剑指Offer——腾讯+360+搜狗校招笔试题+知识点总结

      剑指Offer--腾讯+360+搜狗校招笔试题+知识点总结 9.11晚7:00,腾讯笔试.选择题与编程.设计题单独计时. 栈是不是顺序存储的线性结构啊? 首先弄明白两个概念:存储结构和逻辑结构. 数据 ...

    8. [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤

      本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...

    9. (NO.00005)iOS实现炸弹人游戏(十):游戏主角(三)

      大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 下面我们来看游戏主角类里面几个播放特殊动画的方法,首先从run ...

    10. android程序崩溃后重启

      有时候由于测试不充分或者程序潜在的问题而导致程序异常崩溃,这个是令人无法接受的,在android中怎样捕获程序的异常崩溃,然后进行一些必要的处理或重新启动 应用这个问题困恼了我很久,今天终于解决了该问 ...