方法一:暴力枚举

for i in range(100, 1000): # 分离出百位、十位、个位数字 a = i // 100 b = i // 10 % 10 c = i % 10 # 判断是否为水仙花数 if a ** 3 + b ** 3 + c ** 3 == i: print(i)

方法二:优化枚举

水仙花数最小为153,最大为999,因此只需在这个范围内枚举

for i in range(153, 1000): a = i // 100 b = i // 10 % 10 c = i % 10 if a ** 3 + b ** 3 + c ** 3 == i: print(i)


原文地址: https://www.cveoy.top/t/topic/ZG7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录