cyangyy 发表于 2017-6-22 10:07:43

python第9课 课后动动手,水仙花题

for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
      sum = sum + (temp%10) ** 3
      temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:
      print(i)

求分步骤解析,是不是我数学太差,完全看不懂为什么 以下部分这样计算!!!
sum = sum + (temp%10) ** 3
      temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:

ButcherRabbit 发表于 2017-6-22 10:41:51

    while temp:          #只要temp不等于0,循环一直执行下去
      sum = sum + (temp%10) ** 3             #题目要求的是不是ABC = A的三次方+B的三次方+C的三次方   temp= ABCtemp%10 就是对temp求余,取余数C。。。
      temp //= 10         # 注意这里要使用地板除哦~地板除是整除如:123//10 = 12 这语句你可以理解为temp = temp//10
    if sum == i:            #ABC = A的三次方+B的三次方+C的三次方 的判断,如果是则:
      print(i)                  #打印i



看来我只能回答这类问题了
页: [1]
查看完整版本: python第9课 课后动动手,水仙花题