wanxi 发表于 2020-3-5 16:35:08

水仙花题详解

for i in range(100,1000):
        sun = 0
        temp = i
        while temp:
                sun = sun +(temp%10)**3
                temp //= 10
        if sun == i:
                print(i)
能详细讲解一下水仙花这道题嘛实在是看不懂,也研究不懂

最后的魁拔 发表于 2020-3-5 16:45:05

试数把

qiuyouzhi 发表于 2020-3-5 16:50:21

for i in range(100,1000):
    sun = 0 # 和
    temp = i # 用于存放i的值
    while temp: # 只要temp不等于0:
      sun = sun +(temp%10)**3 # 求出一位的立方和
      temp //= 10 # temp去掉一位
      if sun == i: # 如果符合条件,就打印
            print(i)

wanxi 发表于 2020-3-5 17:11:05

sun = sun +(temp%10)**3 # 求出一位的立方和
      temp //= 10 # temp去掉一位
主要还是这两段不是很懂它这个原理,sun求出来的一位立方和是什么意思,temp的值地板除的意义是什么?
求解谢谢

qiuyouzhi 发表于 2020-3-5 17:25:34

wanxi 发表于 2020-3-5 17:11
sun = sun +(temp%10)**3 # 求出一位的立方和
      temp //= 10 # temp去掉一位
主要还是这两段不是 ...

153除以10等于15余三,而地板除法就是不留余数,也就是15,而15正好是去掉一位的结果
求余数就是求最后一位
还有,不要在自己的帖子里发,要回复我,不然我看不到

17803871782 发表于 2020-3-5 18:18:33

while temp:                                    (当temp=0时,循环结束)
sun = sun +(temp%10)**3         (temp%10是将个位数单独拿出来,然后求立方保存到sun里)
temp //= 10。                            (temp=temp//10是将之前的temp值的个位数去掉,返回一个新的数进行递归,直到把每一个数都单独挑出来计算, temp=0时结束循环,这时sun=每个位数上的数的立方和了)
      

17803871782 发表于 2020-3-5 18:19:26

while temp:                                    (当temp=0时,循环结束)
sun = sun +(temp%10)**3         (temp%10是将个位数单独拿出来,然后求立方保存到sun里)
temp //= 10。                            (temp=temp//10是将之前的temp值的个位数去掉,返回一个新的数进行递归,直到把每一个数都单独挑出来计算, temp=0时结束循环,这时sun=每个位数上的数的立方和了)
      

837374412 发表于 2020-3-6 10:31:36

"1——100间的水仙花数"
num = 100
while num <=999:
    a = num //100
    b = (num - a*100)//10
    c = (num - a*100 - b*10)

    if a ** 3 + b**3 + c**3==num:
      print(num,a,b,c)
    num=num+1

837374412 发表于 2020-3-6 10:32:07

我是这样写的不知道行不行

wanxi 发表于 2020-3-6 11:02:04

qiuyouzhi 发表于 2020-3-5 17:25
153除以10等于15余三,而地板除法就是不留余数,也就是15,而15正好是去掉一位的结果
求余数就是求最 ...

好的谢谢,懂了懂了

wanxi 发表于 2020-3-6 11:02:55

837374412 发表于 2020-3-6 10:31
"1——100间的水仙花数"
num = 100
while num

谢谢,这样写我看懂了

qiuyouzhi 发表于 2020-3-6 11:03:08

wanxi 发表于 2020-3-6 11:02
好的谢谢,懂了懂了

如果有帮助,请设最佳答案{:10_254:}
页: [1]
查看完整版本: 水仙花题详解