lqyy 发表于 2020-4-29 10:51:13

009讲水仙花

请问大神们,水仙花数那道题小甲鱼到底是什么思路啊,我看了好久都没看懂(我是真正的小白...C语言什么的都没学过)

我的思路是:在(100,1000)内选出一个i,然后分别把个位数,十位数和百位数表达出来

for i in range (100,1000):
    x = i//100                                 百位数
    z = i%10                                  个位数
    y = (i - x * 100 - z) / 10             十位数
    if i == x**3 + y**3 + z**3:
      print(i)


答案和小甲鱼的是一样的,但不知道我的会不会太繁琐了,可不可以有什么简化呢

qiuyouzhi 发表于 2020-4-29 10:57:51

都差不多,能实现功能就行{:10_256:}

Twilight6 发表于 2020-4-29 10:58:21

本帖最后由 Twilight6 于 2020-4-29 11:00 编辑

骚微在y那改了下
for i in range (100,1000):
    x = i//100                              # 百位数
    z = i%10                                 # 个位数
    y = (i//10) % 10            # 十位数
    if i == x**3 + y**3 + z**3:
      print(i)

在9课时的知识前,这种已经差不多算最简了~

永恒的蓝色梦想 发表于 2020-4-29 11:00:41

for i in range(100,1000):
        if sum(int(i)**3 for i in i.__str__())==i:
                print(i)

zltzlt 发表于 2020-4-29 13:39:59

这样的思路比小甲鱼的更清晰明了。没关系,只要能实现功能就行。                           

lqyy 发表于 2020-4-29 14:07:26

zltzlt 发表于 2020-4-29 13:39
这样的思路比小甲鱼的更清晰明了。没关系,只要能实现功能就行。

哈哈哈哈哈哈谢谢!

lqyy 发表于 2020-4-29 14:08:24

永恒的蓝色梦想 发表于 2020-4-29 11:00


这个真的...超出我的理解范围了{:10_245:} 但是还是谢谢你呀

lqyy 发表于 2020-4-29 14:09:01

qiuyouzhi 发表于 2020-4-29 10:57
都差不多,能实现功能就行

哈哈哈哈哈好的!
页: [1]
查看完整版本: 009讲水仙花