`
Vitas_Wang
  • 浏览: 9798 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

find the happy number

阅读更多
this question is come from leetcode:

Write an algorithm to determine if a number is "happy".

A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.

Example: 19 is a happy number

1^2 + 9^2 = 82
8^2 + 2^2 = 68
6^2 + 8^2 = 100
1^2 + 0^2 + 0^2 = 1

the value of this question: how to define it will loops endlessly? 100, 1000, 10000 or more times without end in 1? maybe all of them not right.
unless we find that there have a cycle, we make sure that there have a endless loop.
So we need to use two point, if the fast point = the slow point, then it approved that there have a cycle. this is a endless loop.

java solution as below:
 public boolean isHappy(int n) {
        if(n <= 0) return false;
        int times = 100;
        int slow = n;
        int fast = n;
        do{
            slow = nextNumber(slow);
            fast = nextNumber(fast);
            fast = nextNumber(fast);
            if(fast == 1) return true;
        }while(slow != fast);
        
        return false;
    }
    
    private int nextNumber(int n){
        int result = 0;
        while(n > 0){
            result += Math.pow(n%10, 2);
            n = n/10;
        }
        return result;
    }
分享到:
评论

相关推荐

    hw1.rar_Happy!

    Helps to find happy number and consecutive numbers”确认了作业的内容,即编写程序来寻找快乐数和连续数。这通常需要对数字处理有一定的理解,并能运用循环、条件判断等基本编程概念。 标签“happy!”强调了...

    计算机网络第六版答案

    27. Creation of a botnet requires an attacker to find vulnerability in some application or system (e.g. exploiting the buffer overflow vulnerability that might exist in an application). After finding ...

    rubyinstaller-devkit-2.5.3-1-x64.exe

    It provides the biggest number of compatible gems and installs MSYS2-Devkit alongside Ruby, so that gems with C-extensions can be compiled immediately. The 32 bit (x86) version is recommended only if...

    BobBuilder_app

    So a look-up for a key just compares the first keys in the page list to find the page required and gets the key from the page's dictionary. MGIndex is O(log M)+O(1), M being N / PageItemCount ...

    vim插件打包

    " 'g' global: find global definition(s) of the token under cursor " 'c' calls: find all calls to the function name under cursor " 't' text: find all instances of the text under cursor " 'e' egrep:...

    mkvtoolnix_2.7.0

    include the proper version number in the cd commands. 5) Download and install wxWindows (http://www.wxwindows.org/) if you want a GUI for mkvinfo. Make sure that mkvtoolnix' configure can find the...

    高中英语改错专项练习.doc

    2. "The number of the students in our school are increasing." 应改为 "The number of the students in our school is increasing.", "the number of" 后接复数名词,谓语动词用单数。 3. "She has made some ...

    英语写作试卷及答案.doc

    9. **语法错误**:选项A "The number of people who own cars are increasing." 中,主语是"The number",谓语应用单数形式,应改为"increases"。选项B "When a student need to remember is that when taking an ...

    牛津高一英语模块3Unit3综合练习.pdf

    13. 主谓一致:"The number of the people who ___ cars ___ increasing"中,"the number of"作主语时,谓语动词用单数,所以选C. own; is。 14. 动词不定式与动名词:"I shall never forget ___ her ___ the song...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    You can significantly minimize the number of header files you need to include in your own header files by using forward declarations. For example, if your header file uses the File class in ways that ...

    初中英语作文押题(附满分范文).docx

    I'm happy to introduce my new friend, Amy Green. She is 12 years old and comes from the United States. Amy is a lovely girl with bright eyes and a sweet smile. Her phone number is 531-6672, so if you...

    甘肃省天水市一中2020_2021学年高二英语下学期第一阶段考试试题202105140125

    5. 句子结构与连词:第9题的"The number of college graduates is surprisingly large and a large number of them are unable to find a proper job." 展现了并列句的使用,"and" 连接了两个并列的主句。...

    (牛津译林版)初中单词汇总(默写版).docx

    a large number or amount of something. **Unit 2: Travelling** - *许多,大量(词组)*: A lot of; many; numerous. **Unit 3: Online tours** - *享乐,乐趣;有趣的事n*: Fun; amusement or enjoyment. **...

    IEradicator2001

    IEradicator was made to remove (it cleans IE3 upwards to the version number) - Self Extracting CAB installer with inbuilt license confirmation - Altered reboot timing to force reboot at the start to...

    ramin 2.2 for xp

    '1' (number one) key repeatedly during booting and the Radmin driver will not load. ---------------------------------------------------------------------- Limitations ------------------------------...

    小学英语排序题宣贯.pdf

    1. "Happy birthday, Li Lei. This present is for you." - 这是送给李雷生日礼物的情境,通常发生在生日派对或庆祝活动中。 2. "Open it and have a look." - 表示鼓励收礼人打开礼物看看是什么。 3. "Thank you ....

    LeetCode最全代码

    389 | [Find the Difference](https://leetcode.com/problems/find-the-difference/) | [C++](./C++/find-the-difference.cpp) [Python](./Python/find-the-difference.py) | _O(n)_ | _O(1)_ | Easy | | ...

Global site tag (gtag.js) - Google Analytics