Happy Number(找规律)_大数happy number-程序员宅基地

技术标签: 数据结构与算法  

[提交] [状态] [讨论版] [命题人:admin]

题目描述

Consider the following function f defined for any natural number n:
f(n) is the number obtained by summing up the squares of the digits of n in decimal (or base-ten).
If n = 19, for example, then f(19) = 82 because 12 + 92 = 82.
Repeatedly applying this function f, some natural numbers eventually become 1. Such numbers are called happy numbers. For example, 19 is a happy number, because repeatedly applying function f to 19 results in:
f(19) = 12 + 92 = 82
f(82) = 82 + 22 = 68
f(68) = 62 + 82 = 100
f(100) = 12 + 02 + 02 = 1
However, not all natural numbers are happy. You could try 5 and you will see that 5 is not a happy number. If n is not a happy number, it has been proved by mathematicians that repeatedly applying function f to n reaches the following cycle:
4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4.
Write a program that decides if a given natural number n is a happy number or not.

 

输入

Your program is to read from standard input. The input consists of a single line that contains an integer, n (1 ≤ n ≤ 1,000,000,000)

 

输出

Your program is to write to standard output. Print exactly one line. If the given number n is a happy number, print out HAPPY; otherwise, print out UNHAPPY.

 

样例输入

19

 

样例输出

HAPPY

题意:对于题目中给定的数 n ,可以进行对n的每位数字取平方和,可以不断的进行该项操作,

如果在操作的过程中其平方和为1 ,n就是一个HAPPY NUMBER; 否则会是不会出现1 的循环节的情况

,判断该数字n是否是一个HAPPY NUMBER;

代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define ll long long int
int main()
{	
	ll panduan;
	scanf("%lld",&panduan);
	while(1){
		int x=panduan;
		int sum=0;
		while(x){
			int temp=x%10;
			sum+=temp*temp;
			x/=10;
		}
		panduan=sum;
		if(sum<10)
			break;
	}
	
	if(panduan!=1)
		printf("UNHAPPY\n");
	else
		printf("HAPPY\n");
	
	return 0;
 } 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dong_qian/article/details/82940491

智能推荐

Unity Shader 学习笔记(3)URP渲染管线带阴影PBR-Shader模板(ASE优化版本)_aseshader pbr-程序员宅基地

文章浏览阅读2.2k次。Unity-URP渲染管线使用PBR-Shader模板,支持URP内投射和接受阴影;_aseshader pbr

《UDS协议从入门到精通》系列——图解0x19:读取故障码信息_uds读取dtc流程-程序员宅基地

文章浏览阅读1.9k次,点赞28次,收藏34次。认识最核心的诊断服务“0x19”!!全网最强图解!一文搞懂所有常用子服务!_uds读取dtc流程

海康威视及大华技术SDK C头文件转Delphi Pas文件_大华录像机api下载pas代码-程序员宅基地

文章浏览阅读432次。https://blog.csdn.net/BlueStorm/article/details/106661600_大华录像机api下载pas代码

excel计算二元线性回归_快速掌握Logistic回归分析及应用-程序员宅基地

文章浏览阅读1.5k次。影响关系研究是所有研究中最为常见的。我们都知道当Y是定量数据时,线性回归可以用来分析影响关系。如果现在想对某件事情发生的概率进行预估,比如一件衣服的是否有人想购买?这里的Y是“是否愿意购买”,属于分类数据,所以不能使用回归分析。如果Y为定类数据,研究影响关系,正确做法是选择Logistic回归分析。01. 概念Logistic回归分析也用于研究影响关系,即X对于Y的影响情况。Y为定类数据,X可以是..._excel二元logistic回归

Tensorflow2 二次训练和断点续训_tensorlfow使得下次训练从断开的epoch地方开始继续训练-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏12次。EnvironmentTensorflow2.0.0 python3.6问题描述每轮训练中以特定方式(固定频率、最高准确率或最低loss等)存储模型,停止训练后,基于已存储的模型进行二次训练。以特定方式保存模型callbacks = [ tf.keras.callbacks.ModelCheckpoint(filepath=save_args['./saved_models/model_epoch{epoch}.h5'], _tensorlfow使得下次训练从断开的epoch地方开始继续训练

tensorflow GPU安装及测试_测试tensorflowgpu csdn-程序员宅基地

文章浏览阅读1.8w次。# 一、TensorFLow-Gpu环境的搭建## 查看nvidia的型号以便安装相应的驱动lspci | grep -i nvidia#这一步非常的重要,一定要看清楚自己的驱动型号,以便能够找到正确的cuda和cudnn的型号 ## 禁用nouveau#在安装cuda的时候,由于涉及到NVIDIA驱动的安装,使得nouveau驱动与NVIDIA驱动冲突,为了能够继续安装,必须禁..._测试tensorflowgpu csdn

随便推点

英飞凌 AURIX 系列单片机的HSM详解(3)——开发方法_tc397 hsm-程序员宅基地

文章浏览阅读9.4k次,点赞12次,收藏82次。点击回顾之前的文章:《英飞凌 AURIX 系列单片机的HSM详解(1)——何为HSM》《英飞凌 AURIX 系列单片机的HSM详解(2)——与HSM相关的UCB和寄存器》本文以TC397为例,来介绍一下HSM的开发方法。1. 编译器HSM开发时分两个工程,一个工程是编译Tricore内核代码的,用到的编译器是Tasking for Tricore;另一个工程是编译HSM的ARM Cortex-M3内核的,用的是Tasking ARM for HSM。各个版本可以在下面Tasking的官网上找到_tc397 hsm

C语言指针操作(六)指向函数的指针-程序员宅基地

文章浏览阅读5.2k次,点赞27次,收藏80次。指向函数的指针详解,以及如何使用指向函数的指针变量做函数参数。指向函数的指针作为函数参数,是 C 语言实际应用中的一个比较深入的部分。_指向函数的指针

面试题更新之-使用 base64 编码的优缺点_中文base64会有什么问题-程序员宅基地

文章浏览阅读748次。它将三个字节的二进制数据分割成四组,每组6个比特,然后将这些6个比特转换为可打印的ASCII字符。由于每个Base64编码单元包含6个比特,所以它的取值范围为0-63,通过指定一个映射表将这些值转换为相应的ASCII字符。分组和填充:由于Base64编码采用四个字符来表示每个编码单元,所以在编码过程中需要将24比特的编码单位划分为4个6比特的组。如果二进制数据的长度不是3的倍数,就需要进行填充。编码单位:Base64编码将三个字节的二进制数据作为一个编码单位处理,每个字节占8个比特,总共24个比特。_中文base64会有什么问题

java8 接口的默认方法和静态方法_java 8在接口中加上静态方法表示相关的工厂或助手方法-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏2次。java8 接口的默认方法和静态方法首先我们要总体说一下,为什么要有这两个方法存在:(1)原先的jdk7之类的,它们接口中的方法都是抽象方法,没有具体的实现,就相当于定义好了这个接口有哪些功能,却没有具体定义功能是怎么实现的,通常由接口的实现类来做具体功能实现。那么,如果面向接口编程,大家已经根据自己需要通过继承接口的方式来实现了自己的功能,突然有一天,产品提需求了,你需要给所有接口的实现_java 8在接口中加上静态方法表示相关的工厂或助手方法

文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,Vue的配置在Vue3配置文件中的配置,是editor中的v-model绑定的值_wangeditor sethtml-程序员宅基地

文章浏览阅读405次,点赞8次,收藏5次。【代码】文本-----wangEditor的使用,设置和获取内容,展示HTML无样式怎么办????console同步展示怎样写,在onChange事件中配置,编辑器配置,Vue的配置在Vue3配置文件中的配置。_wangeditor sethtml

京东科技全链路故障诊断智能运维实践-程序员宅基地

文章浏览阅读161次。本文根据张静老师在〖2023 中国数据智能管理峰会-上海站〗现场演讲内容整理而成。讲师介绍张静,京东科技智能运维算法高级经理。硕士毕业于东北大学,持续深耕智能运维领域多年,带领团队致力于京东智能运维算法迭代,把智能算法能力落地京东线上横向业务场景,算法在监控、数据库、网络、资源调度等多个纵向场景取得突破,提升了产品和运维的技术竞争力。善于将实践中沉淀的技术与日常算法工作中积累的技术与创新总结成专利..._京东 全链路跟踪