LeetCodeOJ_202_Happy Number
2015-10-03 22:12
295 查看
答题链接
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
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
题目:
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
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
分析:
注意:整数2~9同样需要进行平方和操作,不能直接认定结果不等于1。代码:
class Solution { public: bool isHappy(int n) { int cycle_num=0; while(cycle_num<100){ vector<int> nums; do{ nums.push_back(n%10);//向vector里添加元素 n=n/10; }while(n!=0); vector<int>::iterator it; int sum=0; for(it=nums.begin();it!=nums.end();it++) { sum+=(*it)*(*it); } cycle_num++; n=sum; }; if(n==1) return true; else return false; } };
结果:
相关文章推荐
- Android ListView多布局复用ArrayIndexOutOfBoundsException问题
- 网上看到的X度移动端笔试题
- ISMAR 2015 Poster - Remote Mixed Reality System Supporting Interactions with Virtualized Objects
- Android Studio新建Module时弹出窗口显示不全的问题
- 定制iOS 7中的导航栏和状态栏
- Android ActionBar相关
- android:图片圆角问题
- Cocos2D中的纹理大小计算
- Cocos2D中的纹理大小计算
- Cocos2D中的纹理大小计算
- Cocos2d-x 如何输出 Android用电话 腰带Tag的Log刊物
- 封装button
- ios软件开发 解决删除cell视图遮挡删除按钮的问题
- android 与 小米1S刷机学习
- iOS开发多线程篇—线程安全
- Android----Error:Unable to start the daemon process:错误
- android中如何将图片变为圆角
- iOS多线程学习
- 将输入流(InputStream)转换为位图(Bitmap)
- IOS项目中常见的文件