鱼C论坛

 找回密码
 立即注册
查看: 1128|回复: 2

[已解决]零基础第009讲 水仙花数的那个练习题

[复制链接]
发表于 2018-1-27 20:52:51 | 显示全部楼层 |阅读模式

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

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

x
给的答案算法没看懂……
答案是这么写的:
  1. for i in range(100, 1000):
  2.     sum = 0
  3.     temp = i
  4.     while temp:
  5.         sum = sum + (temp%10) ** 3
  6.         temp //= 10         # 注意这里要使用地板除哦~
  7.     if sum == i:
  8.         print(i)
复制代码

自己是这么写的:
  1. for a in range(1,10):
  2.     for b in range(0,10):
  3.         for c in range(0,10):
  4.             num1 = (a*100+b*10+c*1)
  5.             num2 = (a**3+b**3+c**3)
  6.             if num1 == num2:
  7.                 print(num1)
复制代码

求解我这种写法可以吗?还有谁能帮我解释下小甲鱼给的答案到底是怎么算出来的……
最佳答案
2018-1-27 21:02:15
你的当然可以,甲鱼的是直接针对目标值i
for i in range(100, 1000):           100到1000里找
    sum = 0                               每次初始求和
    temp = i                              temp替代i,因为temp要变化
    while temp:                             当temp为1循环
        sum = sum + (temp%10) ** 3               sum每次加上temp对10的余数的立方
        temp //= 10         # 注意这里要使用地板除哦~     temp每次循环地板除10,相当于把temp的个十百位立方和给sum
    if sum == i:                                         底下你就懂了
        print(i)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-27 20:57:07 | 显示全部楼层
代码简洁,逻辑也清晰

主要在 变量的 循环利用。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-27 21:02:15 | 显示全部楼层    本楼为最佳答案   
你的当然可以,甲鱼的是直接针对目标值i
for i in range(100, 1000):           100到1000里找
    sum = 0                               每次初始求和
    temp = i                              temp替代i,因为temp要变化
    while temp:                             当temp为1循环
        sum = sum + (temp%10) ** 3               sum每次加上temp对10的余数的立方
        temp //= 10         # 注意这里要使用地板除哦~     temp每次循环地板除10,相当于把temp的个十百位立方和给sum
    if sum == i:                                         底下你就懂了
        print(i)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-10 06:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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