鱼C论坛

 找回密码
 立即注册
查看: 1753|回复: 4

[已解决]关于小甲鱼的求水仙花数代码

[复制链接]
发表于 2017-10-5 20:19:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。
#例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。
for i in range(10,1000):
    sum=0 #各个位数的立方和
    temp=i
    while temp:
        sum=sum+(temp%10)**3   #累加
        temp//=10   #地板除
    if sum==i:
        print(i)

没看懂啊,求讲解....
最佳答案
2017-10-5 20:56:18
你是while temp循环这里没理解么?
假设i=153的时候,temp=153
第一轮:temp%10=3,此时sum = 0 + 3**3 = 9,然后temp = temp//10 = 15
第二轮:temp%10=5,此时sum = 9 + 5**3 = 134, 然后temp = temp//10 = 1
第三轮:temp%10=1,此时sum = 124 + 1**3 = 135,然后temp = temp//10 = 0
因为temp=0,所以while循环结束
判断sum=i,所以i是水仙花数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-5 20:56:18 | 显示全部楼层    本楼为最佳答案   
你是while temp循环这里没理解么?
假设i=153的时候,temp=153
第一轮:temp%10=3,此时sum = 0 + 3**3 = 9,然后temp = temp//10 = 15
第二轮:temp%10=5,此时sum = 9 + 5**3 = 134, 然后temp = temp//10 = 1
第三轮:temp%10=1,此时sum = 124 + 1**3 = 135,然后temp = temp//10 = 0
因为temp=0,所以while循环结束
判断sum=i,所以i是水仙花数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-10-5 21:12:06 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-6 12:20:54 | 显示全部楼层
Teagle 发表于 2017-10-5 20:56
你是while temp循环这里没理解么?
假设i=153的时候,temp=153
第一轮:temp%10=3,此时sum = 0 + 3**3 = ...

懂了!多谢!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-6 12:21:10 | 显示全部楼层
新手·ing 发表于 2017-10-5 21:12
http://bbs.fishc.com/thread-93823-1-1.html

厉害了我的哥!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 04:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表