美文网首页
秋风气爽论节制|判断一个数的各位数平方和是否有限循环?

秋风气爽论节制|判断一个数的各位数平方和是否有限循环?

作者: SweetBecca | 来源:发表于2016-08-30 11:41 被阅读53次

久违了的碎碎念

提笔写字似乎是我比较钟情的爱好之一。也是我少数的几个“健康”的爱好。
比如我喜欢吃,曾以“吃货”自称并以为荣。然而这种莫名的不健康的自豪感却终将成为自怜的起因。
圣经有曰的圣灵的九个果子,其中包括一个叫“节制”。(原文记:“圣灵所结的果子,就是仁爱、喜乐、和平、忍耐、恩赐、良善、信实、温柔、节制。这样的事没有律法禁止。--加拉太书5:22~23节”)我猜想,节制是排在最后一个是有道理的,或许是做到凡事节制真的很难。
节制,也就是不贪婪,不贪多,凡事有度。这是我理解的节制。
然而很多事上真的做不到,大到法律道德、为人处世,小到餐饮作息。我无节制的吃自己爱吃的东西,经常吃撑,胃受不了,吸收过量身体受不了。无节制的睡眠,当然也不好,具体原理不在这里讨论。
最近秋天到了,想做一个凡事有节制的人。最起码,应该从嘴上节制做起。


这阵子很忙,没有刷Leetcode了。没想到今天特别有冲动要刷,甚是想念。想念这种像思考游戏一般的快感。今天的Leetcode叫Happy Number,我此时的心情也Happy(虽然目前的身体状态有些堪忧)

题目:202. Happy Number

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

Eg.png

我的解法:普通模拟人工暴力法

模拟算法过程,只要计算出来的值,在前面没有出现过,就一直计算。出现1时,就是true。出现重复了,就是false。

class Solution {
public:
    bool isHappy(int n) {
        vector<int> ans;
        int m = n;
        int t = 0;
        
        while(t != 1){
            t = 0;
            while(m){   
                t += (m % 10) * (m % 10);
                m = m / 10;
            }
            //cout<<t<<endl;
            if(!ans.size()){
                ans.push_back(t);
            }else{
                for(int i = 0;i < ans.size(); i ++){
                    if(ans.at(i) == t)
                        return false;
                }
                ans.push_back(t);
            }
            m = t;
        }
        return true;
    }
};

效率:4ms

这次的效率挺满意.png

Happy,午饭去,吃点健康的,不能吃撑~
——END——

相关文章

网友评论

      本文标题:秋风气爽论节制|判断一个数的各位数平方和是否有限循环?

      本文链接:https://www.haomeiwen.com/subject/uvjzsttx.html