鱼C论坛

 找回密码
 立即注册
查看: 926|回复: 6

[已解决]python课后作业第009讲,求水仙花数,看不明白呀

[复制链接]
发表于 2020-5-6 17:14:15 | 显示全部楼层 |阅读模式

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

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

x
编写一个程序,求 100~999 之间的所有水仙花数。

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

小甲鱼老师Python课后题009讲的求水仙花数,我研究了1个小时,怎么都看不明白!哪位大佬能讲解一下吗?通俗易懂的!这个是真看不明白,哎!可能是我脑子太笨了
最佳答案
2020-5-6 17:20:23
没事,我刚学的时候也是这样。
因为水仙花是每位的立方之和为这个数的数,
所以,要用一个sum,存储每位立方和。
用temp是因为我们要修改i这个数,如果把i修改了,
最后还需要比较一下呢,所以,用temp做个备份。
然后就是while循环了,先说一下%10和//10:
>>> 153 % 10 # 取出最后一位
3
>>> 153 // 10 # 去掉最后一位
15
>>> # 因为//10迟早会让153变为0,所以我们加一个while循环,也就是说,
>>> # 只要temp不为0,就一直取位+去掉一位。
>>> # **我想不用说了,就是x的y次方
>>> 2 ** 3 # 2 的 3次方
8
最后,再进行一个判断(sum是否等于这个数)就好了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-6 17:16:49 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 17:20:23 | 显示全部楼层    本楼为最佳答案   
没事,我刚学的时候也是这样。
因为水仙花是每位的立方之和为这个数的数,
所以,要用一个sum,存储每位立方和。
用temp是因为我们要修改i这个数,如果把i修改了,
最后还需要比较一下呢,所以,用temp做个备份。
然后就是while循环了,先说一下%10和//10:
>>> 153 % 10 # 取出最后一位
3
>>> 153 // 10 # 去掉最后一位
15
>>> # 因为//10迟早会让153变为0,所以我们加一个while循环,也就是说,
>>> # 只要temp不为0,就一直取位+去掉一位。
>>> # **我想不用说了,就是x的y次方
>>> 2 ** 3 # 2 的 3次方
8
最后,再进行一个判断(sum是否等于这个数)就好了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-7 13:39:59 | 显示全部楼层
小甲鱼做的理解不难
我自己是这样写的
for i in range(100,1000):
    j = i//100
    k = i%10
    l = i//10%10
    if i==j**3+k**3+l**3:
        print(i)
    else:
        continue
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-29 10:10:05 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-29 22:03:22 | 显示全部楼层
for z in range(0,10):
   for y in range(0,10):
       for x in range(1,10):
           if x**3+y**3+z**3==x*100+y*10+z:
                 print(x*100+y*10+z)
123.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-29 22:06:47 | 显示全部楼层
本帖最后由 kkk1029 于 2020-5-30 10:26 编辑

根据水仙花后面的例子(三色球)的思路改编过来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-21 01:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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