Anonymous 发表于 2022-3-26 12:05:20

水仙花数的那个代码有大佬可以解读一下吗?看不懂为什么和//10有关

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

isdkz 发表于 2022-3-26 12:08:32

地板除法用来把最后一位(也就是个位数)丢掉,使原先的位都往右边移,

因为 % 10 是得到 个位数,只有把前面的位都往右挪一位,才能得到每个位上的数。

柿子饼同学 发表于 2022-3-26 12:15:30

浅谈水仙花数题目
https://fishc.com.cn/thread-192863-1-1.html
(出处: 鱼C论坛)
页: [1]
查看完整版本: 水仙花数的那个代码有大佬可以解读一下吗?看不懂为什么和//10有关