C/C++ 快乐数: 编写一个算法来判断一个数n是不是快乐数

题目: 编写一个算法来判断一个数n是不是快乐数。

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

 
示例 1:
    输入:n = 19
    输出:true
    
示例 2:
    输入:n = 2
    输出:false

示例 3:
    输入:n = 5
    输出:false

解析: 使用快指针和慢指针,如果快指针追上了慢指针,说明进入了循环

          如果循环值为1,则为快乐数。

示例源码:

// Len_IsHappy.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"int NextData(int n)
{int data = 0;while (n > 0){int ge = n % 10;data += ge * ge;n = n / 10;}return data;
}bool isHappy(int n) 
{int slow = n;int fast = n;do{slow = NextData(slow);fast = NextData(NextData(fast));} while (slow != fast);return slow == 1;
}
void PrintStr(int n, bool bResult)
{	// nprintf("\nn = %d", n);// resultprintf("\nbResult = %s\n", (bResult != 0) ? ("true") : ("false"));}int _tmain(int argc, _TCHAR* argv[])
{int n = 19;bool bResult = isHappy(n);PrintStr(n, bResult);n = 2;bResult = isHappy(n);PrintStr(n, bResult);n = 5;bResult = isHappy(n);PrintStr(n, bResult);return 0;
}

执行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用不同的颜色映射绘制热力图Seaborn

使用不同的颜色映射绘制热力图 一、使用 Seaborn 库创建热力图二、cmap关于其他颜色的设置三、自己设置颜色映射 一、使用 Seaborn 库创建热力图 选择Seaborn颜色官网 使用 Seaborn 库创建热力图,你可以使用 seaborn.heatmap() 函数。下面是一个示例代码&#xf…

网络基础(七):传输层协议介绍

目录 一、TCP协议(传输控制协议) 1、TCP协议介绍 2、TCP协议特性 3、TCP报文格式 4、TCP的三次握手 4.1TCP三次握手的概念 4.2TCP三次握手流程图 4.3 TCP三次握手阐释说明 5、TCP的四次挥手 5.1TCP四次挥手的概念 5.2TCP四次挥手的流程图 5.…

【C语言】RDMACM、Verbs API与epoll一起使用的示例

一、epoll介绍 epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 以下是epoll的主要使用方法和优点: epo…

jsp+servlet+图书交流平台 有filter过滤器

在线图书推荐与交流平台 随着数字化的进展和人们对持续学习的追求,在线资源变得越来越受欢迎。对于众多读者来说,找到合适的书籍和与其他读者交流阅读体验是非常有价值的。为了满足这一需求,我们提出了一个在线图书推荐与交流平台的设计。此…

使用MIB builder自定义物联网网关的MIB结构

文章目录 物联网网关初识(了解即可)IoT的通用MIB库结构MIB Builder开发流程指导问题总结子叶没所属分组值范围不为0 物联网网关初识(了解即可) 网关又称网间连接器、协议转换器。简单说,物联网网关是一台智能计算机&a…

【八】python装饰器模式

文章目录 8.1 装饰器模式简介8.2 装饰器模式作用8.3 装饰器模式构成8.3.1 装饰器模式包含以下几个核心角色:8.3.2 UML类图 8.4 装饰器模式python代码实现8.4.1 基本装饰器的使用8.4.2 多个装饰器的执行顺序8.4.3 带返回值的装饰器的使用8.4.4 装饰器模式-关联类模式…

排序算法---希尔排序

1. 基本思想 希尔排序是插入排序的一种,它与直接插入排序不同的是,它会优先比较距离较远的元素,因此希尔排序又被称为“缩小增量排序”。希尔排序的实现思路是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序&…

​flutter 代码混淆

Flutter 应用混淆:Flutter 应用的混淆非常简单,只需要在构建 release 版应用时结合使用 --obfuscate 和 --split-debug-info 这两个参数即可。–obfuscate --split-debug-info 用来指定输出调试文件的位置,该命令会生成一个符号映射表。目前支…

智能驾驶时代加速到来,爱芯元智成车载芯片界最大黑马?

今年以来,随着新能源汽车厂商们轰轰烈烈的“开城之战”持续上演,国内新能源汽车行业俨然已进入智能驾驶时代。在这场技术革新大潮中,扮演重要角色的除了处于视觉中心风光无两的车企,还有上游诸多的智能驾驶方案供应商。 下游的军…

MS913/914 25-100MHz 10/12 位用于平面显示器链路Ⅲ的具有直流平衡编码和双向控制通道的串化器和解串器

MS913/MS914 芯片组是 25MHz~100MHz 10 位/12 位 FPD Link III SER/DES(串化器/解串器),它提供高速 FPD-Link III 接口和高速正向通路以及用于差分对上数据发送的双向 控制通路。广泛应用于车载摄像,医疗设备,管道探测等领 域。 主要特点…

lwIP 细节之六:connected、sent、poll 回调函数是何时调用的

使用 lwIP 协议栈进行 TCP 裸机编程,其本质就是编写协议栈指定的各种回调函数。将你的应用逻辑封装成函数,注册到协议栈,在适当的时候,由协议栈自动调用,所以称为回调。 注:除非特别说明,以下内…

HarmonyOS4.0从零开始的开发教程11Video组件的使用

HarmonyOS(九)Video组件的使用 概述 在手机、平板或是智慧屏这些终端设备上,媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集,还是视频的播放、切换、循环,亦或是相机的预览、拍照等功能…

Python码上行动系列丛书(由北京大学出版社出版)

前言 Python码上行动系列丛书火热来袭💥💥💥 三册在手,Python全掌握!无论是初学者还是进阶玩家,我们都有你想要的! 让ChatGPT带你轻松入门Python编程,享受编程带来的乐趣&#xff0…

【数据结构】——二叉树功能

前言:我们前面已经了解了二叉树的一些概念,那么我们今天就来了解下二叉树的遍历实现和一些性质。 二叉树的遍历方式有三种:前序,中序,后序。 前序:先根节点,再左子树,最后右子树。 中…

Linux——MySQL数据库系统()

一、访问MySQL数据库 MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。 1、登录到MySQL服务器经过安装后的初…

Leetcode—783.二叉搜索树节点最小距离【简单】

2023每日刷题(五十八) Leetcode—783.二叉搜索树节点最小距离 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ void dfs(struct TreeNode* roo…

在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏?

引言 大家好,今天分享点个人经验。 有一定编程经验或者游戏开发经验的小伙伴,在接触新的游戏引擎的时候,如何能快速地熟悉并开发出一款新游戏? 利用现成开发框架。 1.什么是开发框架? 开发框架,顾名思…

ROS2 学习08 导航Nav2:简介、安装、测试效果、错误处理

1、简介 在ROS2中自动导航使用Nav2来实现。 Nav2 使用几个独立的模块化服务,通过 ROS 2接口(例如动作服务器或服务)与行为树 (BT) 通信。 Nav2 输入包括:TF转换、一个地图源、一个行为树 (BT) XML 文件和相关的传感器数据源; Nav…

C语言好题分享七(三数之和)

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载,请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主,代码兴国!❤❤❤ 三数之和 题目来源LeetCode:刷题传送门 题目:给你一个整数数组 nums ,判断…