yierer.com 2022-04-12 16:40 采纳率: 100%
浏览 27
已结题

求哪个数内所有的水仙花数,有没有比这更精简一些的

'''
找出所有水仙花数
'''
user_input_num = list(input('输入整数,我来找出其以内的所有水仙花数:'))
a, b, c = user_input_num
daffodil = []
for i in range(int(a)):
    for j in range(int(b)):
        for k in range(int(c)):
            if i*i*i + j*j*j + k*k*k == i*100+j*10+k:
                daffodil.append(i*100+j*10+k)
print(f'{int(a)*100+int(b)*10+int(c)}以内的水仙花数是:')
for i in range(len(daffodil)):
    print(daffodil[i], end=',')

这个虽然说也能得出结果,但觉得太复杂了,有没有更简便的方法呢?

  • 写回答

3条回答 默认 最新

  • A-Chin 2022-04-12 17:07
    关注
    
    for n in range(100, 1000):
       hun = int(n / 100)
       ten = int((n-hun*100) / 10)
       ind = n % 10
       if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind):
           print(n)
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月20日
  • 已采纳回答 4月12日
  • 创建了问题 4月12日