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
class Solution {
public:
bool isHappy(int n) {
map<int,int> value;
while(n!=1)
{
value[n]=1;
int remain;
int tmp=0;
while(n!=0)
{
remain=n%10;
tmp+=remain*remain;
n=n/10;
}
n=tmp;
if(value.find(n)!=value.end())
break;//是否已经出现过
}
if(n!=1)
return false;
return true; }
};

最新文章

  1. PHP date函数时间相差8个小时解决办法
  2. 把《c++ primer》读薄(3-2 标准库vector容器+迭代器初探)
  3. javascript:算法之for循环
  4. STC12C5A60S2笔记5(省电模式)
  5. 关于基本类型值和引用类型值以及Vue官方API的array.$remove(reference)
  6. nginx修改内核参数
  7. 深入理解Java虚拟机 - 垃圾收集概述
  8. Android自动化测试之monkeyrunner工具
  9. printf输出函数
  10. MFC CArchive实现保存到二进制文件
  11. CSS变量variable
  12. NOPI实现导入导出泛型List,支持自定义列
  13. 【干货】.NET WebApi HttpMessageHandler管道
  14. Spring Boot+Jsp启动异常
  15. python学习笔记(5-1)-基本数据类型-字符串类型及操作
  16. ACM退役前2个月总结
  17. Django初级手册3-视图层与URL配置
  18. 170420、maven内置常量
  19. ASP.NET CORE 学习之原生DI实现批量注册
  20. PHP常用的一些数组操作总结

热门文章

  1. 修改选择排序 Exercise07_20
  2. PHP 日期的加减
  3. Kafka 0.7.2 单机环境搭建
  4. MyEclipse2015创建配置Web+Maven项目
  5. Selenium自动化工具工作原理
  6. android ORM 框架 search
  7. extjs form textfield的隐藏方法
  8. Workflow:采用坐标变换(移动和旋转)画箭头
  9. [转]nginx折腾记(HTTP性能能测试,与Apache对比)
  10. 高性能HTML