博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【LintCode 简单】488. 快乐数
阅读量:4087 次
发布时间:2019-05-25

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

1.问题描述:

 

写一个算法来判断一个数是不是"快乐数"。一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为1,或是无限循环但始终变不到1。如果可以变为1,那么这个数就是快乐数。

 

2.样例:

19 就是一个快乐数。

1^2 + 9^2 = 828^2 + 2^2 = 686^2 + 8^2 = 1001^2 + 0^2 + 0^2 = 1

 

 

3.代码:

 

class Solution:    """    @param: n: An integer    @return: true if this is a happy number or false    """    def isHappy(self, n):        # write your code here            array=[n]            turn=0            while n!=1:                l=list(str(n))                length=len(l)                n=0                for i in range(length):                    n+=int(l[i])**2                for i in range(turn):                    if n==array[i]:                        return False                array.append(n)                turn+=1            return True

本题是利用记录下 拆分各位求和的数字,当进入到一个循环后就不可能出现快乐数,利用反证法的思想。

 

 

 

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

你可能感兴趣的文章
Nginx篇-springCloud配置Gateway+Nginx进行反向代理和负载均衡
查看>>
Nginx篇-Nginx配置动静分离
查看>>
缓存篇-Redis缓存失效以及解决方案
查看>>
缓存篇-使用Redis进行分布式锁应用
查看>>
缓存篇-Redisson的使用
查看>>
phpquery抓取网站内容简单介绍
查看>>
找工作准备的方向(4月22日写的)
查看>>
关于fwrite写入文件后打开查看是乱码的问题
查看>>
用结构体指针前必须要用malloc,不然会出现段错误
查看>>
Linux系统中的美
查看>>
一些实战项目(linux应用层编程,多线程编程,网络编程)
查看>>
我觉得专注于去学东西就好了,与世无争。
查看>>
原来k8s docker是用go语言写的,和现在所讲的go是一个东西!
查看>>
STM32CubeMX 真的不要太好用
查看>>
STM32CubeMX介绍、下载与安装
查看>>
不要买铝合金机架的无人机,不耐摔,易变形弯曲。
查看>>
ACfly也是基于FreeRTOS的
查看>>
F330装GPS的位置
查看>>
pixhawk也可以用Airsim仿真
查看>>
《无人机电机与电调技术》可以看看
查看>>