码迷,mamicode.com
首页 > 其他好文 > 详细

123

时间:2018-06-27 16:11:17      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:pre   问题   style   分享图片   bubuko   bre   happy   while循环   not   

本文是魏皮皮同学提议,我当然就同意了,方法来源于河大小皮皮博客中所提的第二种思路,

技术分享图片

首先第一种方法是自己想的,没有知识做铺垫,有一点点的问题,只能是有限次,但是一般情况应该够了,除了那种巨难的数

 1 n=input()
 2 a=0
 3 while True:
 4     b=0
 5     for i in str(n):
 6         b=b+eval(i)**2
 7     if a>100:
 8         print(False)
 9         break
10     elif b!=1:
11         n=b
12         a=a+1
13         continue
14     elif b==1:
15         print(True)
16         break

第二种想法是图中所说的

 1 while True:
 2     n=input()
 3     a=n
 4     while a not in ("1","4","16","37","58","89","145","42","20"):
 5         b=0
 6         for i in str(a):
 7             b=b+eval(i)**2
 8         a=str(b)
 9     if eval(a)==1:
10          print("{} is  a  happynumber !".format(n))
11     else:
12          print("{} is  not  a  happynumber !".format(n))

 

关于快乐数,1, 7, 10, 13, 19, 23, 28, 31, 32, 44, 49, 68, 70, 79, 82, 86, 91, 94, 97, 100,这些是100以内的快乐数,好像5555和888也是(随手试出来的),上述已亲测,有兴趣的童鞋可以试试看

自从会用while循环之后特别喜欢用它来写,其实我最开始都是定义函数来写这些代码,但是,忽然发现顺序好像更方便,然后就改了(好多次了)

123

标签:pre   问题   style   分享图片   bubuko   bre   happy   while循环   not   

原文地址:https://www.cnblogs.com/wobenqiuxin/p/9210849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!