4行代码生成1亿以内水仙花数

for i in range(10 ** 2, 10 ** 8):
	n = [int(j) ** len(str(i)) for j in str(i)]
	if sum(n) == i:
		print(i, n)

返回结果:
153 [1, 125, 27]
370 [27, 343, 0]
371 [27, 343, 1]
407 [64, 0, 343]
1634 [1, 1296, 81, 256]
8208 [4096, 16, 0, 4096]
9474 [6561, 256, 2401, 256]
54748 [3125, 1024, 16807, 1024, 32768]
92727 [59049, 32, 16807, 32, 16807]
93084 [59049, 243, 0, 32768, 1024]
548834 [15625, 4096, 262144, 262144, 729, 4096]
1741725 [1, 823543, 16384, 1, 823543, 128, 78125]
4210818 [16384, 128, 1, 0, 2097152, 1, 2097152]
9800817 [4782969, 2097152, 0, 0, 2097152, 1, 823543]
9926315 [4782969, 4782969, 128, 279936, 2187, 1, 78125]
24678050 [256, 65536, 1679616, 5764801, 16777216, 0, 390625, 0]
24678051 [256, 65536, 1679616, 5764801, 16777216, 0, 390625, 1]
88593477 [16777216, 16777216, 390625, 43046721, 6561, 65536, 5764801, 5764801]

补充说明:严格来说水仙花数就下面4个:153,370,371 ,407

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值