快乐数解法-很快乐

  • 1、题目描述
  • 2、题目分析
  • 3、代码实现
  • 4、题解心得

1、题目描述

编写一个算法来判断一个数 n 是不是快乐数。
「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。

示例:
输入:19
输出:true
解释:
12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1


2、题目分析

解题思路

①判断n==1
②具体思路如图解:

③细节注意:while判断需要配合result和每个数的位数n,不然31、91这类的数就会只算一次就跳出而输出

3、代码实现

代码如下:

bool isHappy(int n)
{int temp=0;int result=0;if(n==1)return true;while(result!=1||n!=0){temp=n%10;n/=10;result=temp*temp+result;if(result==1&&n==0)return true;if(n==0){n=result;result=0;if (n == 4 || n == 16 || n == 37 || n == 58 || n == 89 || n == 145 || n == 42 || n == 20)return false;}   }return false;
}

4、题解心得

1、这道题官方给出的解答也是判断循环节,不足之处在于while循环的运算时间较多,有能力的可以考虑用更佳的代码实现,欢迎评论交流,一起打怪升级!
2、欢迎关注CSDN ID:zhd5120153951
博客域名:https://blog.csdn.net/zhd5120153951

经典C语言算法题之快乐数相关推荐

  1. 经典C语言算法之回文数

    经典C语言算法题之回文数 1.题目描述 2.题目解析 3.代码编写 4.题解心得 1.题目描述 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输 ...

  2. 【leetcode】 算法题1 两数之和

    [leetcode] 算法题1 两数之和 问题   给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums ...

  3. 每日一练———C语言算法题--平年闰年问题

    C语言算法题--平年闰年问题 概念 一.平年.闰年的判断 二.给出年.月.日,判断日期是否存在 概念    平年与闰年!!!(闰年比平年多一天,闰年二月29天,平年28天)    1. 普通闰年: 能 ...

  4. java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!

    JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...

  5. lintcode-【简单题】快乐数

    题目: 写一个算法来判断一个数是不是"快乐数". 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是 ...

  6. c语言二分法_14个经典C语言算法你就不看一眼?(附详细代码)

    今天,给大家讲一讲,单片机常用的14个C语言算法(附详细代码)哟! 一.计数.求和.求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值.终值或结束条件,更要注意用来表示计数.和. ...

  7. 【力扣3题】快乐数有效的字母异位词字符串中的单词数

    这篇文章主要是想向大家说其实力扣的好多题的解法都是很像的,我虽然刷的少,但是在这些题上都看到了熟悉的影子,就是想给大家打打鸡血吧. 题单一::202.力扣快乐数 解题思路: 快乐数就是不断求它的平方和 ...

  8. leetcode算法题--最长数对链

    原题链接:https://leetcode-cn.com/problems/maximum-length-of-pair-chain/ 1.动态规划 dp[i]表示第i个位置最长的数对链的长度 状态转 ...

  9. 给定4个数字组合的C语言算法,leetcode 454. 四数相加 II c语言

    如题: 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0. 为了使问题简单化,所 ...

最新文章

  1. php this 代表什么,php中$this-)是什么意思?
  2. UVA11134传说中的车(放棋子)
  3. ThreadPoolExecutor源码解析(二)
  4. mysql没有东西的商品_MYSQL 对商品表没有主图的数据调整为下架的SQL脚本
  5. metasploitable2渗透测试
  6. Android自定义view详解,使用实例,自定义属性,贝塞尔曲线
  7. 安卓案例:表达式计算器
  8. mac docker mysql_Mac操作系统上使用Docker创建MySQL主从数据库
  9. 品质管控计划ppt怎样写_线上求助:怎么写好PPT年终总结和年度计划?
  10. 2 年增长 1 万亿!继苹果之后,微软市值也突破 2 万亿美元
  11. 茶 —— 一片树叶的故事(茶叶的品类)
  12. Spring Cloud Eureka服务注册中心 单节点搭建(学习总结)
  13. 阿里云ECS更换系统时提示主机名不支持windows镜像要求的解决方法
  14. 【概率论】复习资料(手写复习)
  15. java数组里的索引越界问题、空指针异常问题
  16. 项目实战:Qt+OpenCV大家来找茬(Qt抓图,穿透应用,识别左右图区别,框选区别,微调位置)
  17. 类的封装性、继承性和多态性设计
  18. 区块链技术十周年—回眸与前瞻
  19. C语言提高篇之——动态内存管理
  20. 基于java设计的图书管理系统

热门文章

  1. 个人简历制作时的自我评价应该怎么写?
  2. 《算法竞赛进阶指南(by 李煜东)》习题题解 集合
  3. Chrome 护眼插件
  4. 照书写轮子——图的五种常见接口的实现(DFS、BFS、最小生成树问题、最短路径问题、关键路径问题)
  5. python 批量下载财务数据_Python+Wind 批量下载上市公司年报 - Part 1/2
  6. Hbuildx 无法运行项目的问题
  7. python+requests接口自动化测试框架实例详解教程(米兔888)【适合半年或一年以上天天做自动化经验的大神下载使用】
  8. find 搜索关键字并显示文件名
  9. 2020年9月PAT甲级满分必备刷题技巧
  10. 深度学习之灾难性遗忘问题