h793007401 发表于 2022-4-18 02:18:55

求(100,1000)水仙花数

为什么这个程序没有办法输出结果???

i=100
while i <1000:
    f=i//100
    s=(i-f)//10
    t=i-f-s
    if i==pow(f,3)+pow(s,3)+pow(t,3):
      print(i)
    i+=1

wp231957 发表于 2022-4-18 06:31:24

你分离的数据不对,你随便代入一个即知

傻眼貓咪 发表于 2022-4-18 08:15:44

for i in range(100, 1000):
        hundred = i//100 # 百位
        ten = (i//10)%10 # 十位
        one = i%10 # 个位
        if i == (pow(hundred, 3) + pow(ten, 3) + pow(one, 3)):
                print(i)

yzzc 发表于 2022-4-18 08:57:04

本帖最后由 yzzc 于 2022-4-18 09:02 编辑

i=100
while i <1000:
    f=i//100   //取百位
    s=(i-f*100)//10   //取十位
    t=i%10    //取个位
    if i==pow(f,3)+pow(s,3)+pow(t,3):
      print(i)
   

坚持自律 发表于 2022-4-18 19:13:30

你的s=(i-f)//10取的十位数不对

坚持自律 发表于 2022-4-18 21:49:26

i=100
while i < 1000:
    f=i//100
    # print(f)
    s =(i//10)-(f * 10)
    # print(s)
    # # s=(i-f)//10#这一步求的是三位数减去一个个位数之后除10求整,其实求的还是百位上的数字
    # # t=i-f-s#这一步求的是一个三位数减去2个1位数,还是一个三位数。
    t = i % 10
    # print(t)
    if i == (pow(f,3)+pow(s,3)+pow(t,3)):
      print(i)
    i+=1
    #你的整体计算方法有问题。

h793007401 发表于 2022-4-19 00:53:38

谢谢大家,明白啦
页: [1]
查看完整版本: 求(100,1000)水仙花数