鱼C论坛

 找回密码
 立即注册
查看: 3471|回复: 9

关于水仙花数

[复制链接]
发表于 2014-6-1 19:52:15 | 显示全部楼层 |阅读模式
20鱼币
for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum +(temp%10)**3    #理解不了这两句,求大神详解
        temp //=10                               #
    if sum == i:
        print(i)


最佳答案

查看完整内容

while temp: sum = sum +(temp%10)**3 temp //=10 首先 sum = 0; 一个数子÷10的余数就是这个数字的最后一位 一个数字整除(//)10就是少了最后一位 如12345 // 10 = 1234 (temp%10) 就是取最后一位 (temp%10)**3 就是三次 sum = sum +(temp%10)**3 就是累加 temp //=10 就是把最后一位去掉 while temp: //如果一个数字只有1位了如5 5//10 = 0 条件不成立循环结束 sum = sum +(temp%10)**3 ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-1 19:52:16 | 显示全部楼层
while temp:
        sum = sum +(temp%10)**3
        temp //=10
首先 sum = 0; 一个数子÷10的余数就是这个数字的最后一位 一个数字整除(//)10就是少了最后一位
如12345 // 10 = 1234
(temp%10) 就是取最后一位
(temp%10)**3  就是三次
sum = sum +(temp%10)**3  就是累加
temp //=10  就是把最后一位去掉
while temp: //如果一个数字只有1位了如5 5//10 = 0 条件不成立循环结束
        sum = sum +(temp%10)**3
        temp //=10
就是把这个数字所有位上的数字的三次方累加
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-1 22:53:37 | 显示全部楼层
弱弱的问一句,这是什么语言?

点评

python  详情 回复 发表于 2014-6-2 00:01
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-2 00:01:01 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-6-2 21:11:57 | 显示全部楼层
牡丹花下死做鬼 发表于 2014-6-1 19:52
while temp:
        sum = sum +(temp%10)**3
        temp //=10

终于懂了,感谢大神,

                               
登录/注册后可看大图
来个粽子呗,哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-2-28 20:06:25 | 显示全部楼层
这个牡丹兄,真的是厉害啊!一下子就明白了!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-4-23 14:44:27 | 显示全部楼层
犀利
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-10-3 15:01:28 | 显示全部楼层
哈哈 终于明白了 我再问一个:
如果再给下面的if 加个缩进也有得出答案,只不过多了几个答案,这是什么意思呢?
for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum + (temp % 10)**3
        temp //= 10
        if sum == i:
            print(i)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-10-6 16:45:49 | 显示全部楼层
牡丹花下死做鬼 发表于 2014-6-1 19:52
while temp:
        sum = sum +(temp%10)**3
        temp //=10

我脑袋都 想破了。你犹如我前方的一盏明灯
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-29 22:12:29 | 显示全部楼层
答案在这里
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-14 01:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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