打印100到n之间所有的水仙花数,水仙花数是一个三位数,其各位数的立方和等于该数本身

打印100到n之间所有的水仙花数,水仙花数是一个三位数,其各位数的立方和等于该数本身

分解每个数字,计算立方和

n = int(input("输入大于100的整数:"))
for i in range(100, n+1): 
    ge = i % 10 
    shi = i // 10 % 10  
    bai = i // 100  
    if ge ** 3 + shi ** 3 + bai ** 3 == i:
        print(i)


三位的水仙花数共有4个:153,370,371,407
取巧的话直接if判断一下直接打印

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^