输出所有水仙花数(3种方法)

print(*list(map(lambda x: x[1], filter(lambda x: x[0], [(i**3+j**3+k**3 == i*100+j*10+k, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)]))))

print(*[i**3+j**3+k**3 for i in range(1, 10) for j in range(0, 10) for k in range(0, 10) if i**3+j**3+k**3 == i*100+j*10+k])

for i in range(100, 500):
    if (i % 10)**3 + (i // 10 % 10)**3 + (i // 100)**3 == i:
        print(i, end=' ')

执行结果如下:
在这里插入图片描述新手推荐用第三种for-in循环来实现此功能,简单易懂。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐