欧拉计划 34

145 是一个奇怪的数字, 因为 1! + 4! + 5! = 1 + 24 + 120 = 145.

找出所有等于各位数字阶乘之和的数字之和。

注意: 因为 1! = 1 和 2! = 2 不是和的形式,所以它们不算在内。

import math


factorial_dict = {}
for i in range(10):
    factorial_dict[i] = math.factorial(i)
curious_sum = 0

# 10 ** 8 > factorial_dict[9] * 8
for i in range(3, 7 * factorial_dict[9] + 1):
    i_sum = 0
    j = i
    while j:
        i_sum += factorial_dict[j % 10]
        j //= 10
    if i_sum == i:
        curious_sum += i
print(curious_sum)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值