博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 202. Happy Number
阅读量:4098 次
发布时间:2019-05-25

本文共 1244 字,大约阅读时间需要 4 分钟。

题目:

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

思路:

将一个数的各个位上的数平方相加后得到新数,看最后能不能变成1,如果能返回true,否则返回false
如果不能变成1,最后其实是一个循环,取了一个循环中的数89来作为是否一直在循环里跑的条件。

代码:

class Solution {public:    bool isHappy(int n) {        int result = n;        vector
a; while (result != 89){
//89在循环中,用来作为是否能变成1的条件之一 while (result){
//将result的各个位保存到vector
a中 a.push_back(result % 10); result /= 10; } for (vector
::iterator ix = a.begin(); ix != a.end(); ++ix){
//计算新的result值 result += (*ix)*(*ix); } a.clear();//a一定要清零 if (result == 1){
//result如果为1了返回true return true; } } return false;//如果进入了计算数的循环,也就是有89出现,返回false }};

转载地址:http://esmii.baihongyu.com/

你可能感兴趣的文章
QT跨MinGW和MSVC两种编译器的解决办法
查看>>
firewalld的基本使用
查看>>
在 Linux 中找出所有在线主机的 IP 地址
查看>>
Linux下SVN客户端使用教程
查看>>
i2c-tools
查看>>
Linux分区方案
查看>>
Linux 查看服务器开放的端口号
查看>>
nc 命令详解
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
OpenFeign学习(七):Spring Cloud OpenFeign的使用
查看>>
OpenFeign学习(八):Spring Cloud OpenFeign的加载配置原理
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>
Ribbon 学习(三):RestTemplate 请求负载流程解析
查看>>
深入理解HashMap
查看>>