鱼C论坛

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

[已解决]水仙花问题

[复制链接]
发表于 2018-3-17 06:35:05 | 显示全部楼层
ba21 发表于 2018-3-16 22:48
for i in range(100, 10000000):
        sum = 0
        length=len(str(i))

对于小甲鱼的这几个语句,一直不太理解:
while temp:
        sum = sum + (temp%10) ** 3
        temp //= 10
这个是如何实现水仙花数的要求的? 我的做法和楼主一样,感觉比较直观。但是小甲鱼的做法也对,就是看不懂。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-18 14:45:20 | 显示全部楼层
铁棍阿童木 发表于 2018-3-17 08:44
在这里 while 循环是以 temp 变量不为零为基础的(初始值是 100,下面以153为例):
1、进入循环,temp ...

了解了。 其实就是,我和楼主 的做法是常规的,先求百位数,再求十位数,最后求个位数。
而小甲鱼的做法是反过来的,先求个位数,再求十位数,最后求百位数。实际是一样的。
十分感激
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-18 14:46:08 | 显示全部楼层
BngThea 发表于 2018-3-17 10:37
while temp:
        sum = sum + (temp%10) ** 3
        temp //= 10

多谢你的解释~~明白其中的缘由了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-19 03:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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