停小车 发表于 2021-9-5 15:55:28

求水仙花数

def shuixianhua(x):
    a=x//100
    b=x//10%10
    c=x%100
    if x==a**3+b**3+c**3:
          print(x, end='')
for i in range(100,1000):
    shuixianhua(i)

这样为什么结果不对呢?

wp231957 发表于 2021-9-5 16:02:39

c=x%100这是什么鬼

Geeker_odd 发表于 2021-9-5 16:10:07

题目呢?

tjzhf 发表于 2021-9-5 16:10:25

c代表个位的话,表达式应该是c = x % 10

jackz007 发表于 2021-9-5 16:11:13

>>> def shuixianhua(x):
    a = x // 100
    b = x % 100 // 10
    c = x % 10
    if x == a**3 + b**3 + c**3:
          print(x)

>>> for i in range(100,1000):
    shuixianhua(i)


153
370
371
407
>>>

傻眼貓咪 发表于 2021-9-5 16:32:05

def isNarcissistic(num): # 水仙花數(Narcissistic number)
    def func(num, res = 0):
      if num < 10: return num**3
      res += ((eval(str(num)[-1])**3) + func(eval(str(num)[:-1]), res))
      return res
    return func(num) == num


153
370
371
407

柿子饼同学 发表于 2021-9-5 16:33:57

浅谈水仙花数题目
https://fishc.com.cn/thread-192863-1-1.html
(出处: 鱼C论坛)
看看这个 , 说不定就懂了
页: [1]
查看完整版本: 求水仙花数