欧拉计划 65

2的平方根可以写作无限连分数:

这个无限连分数可以写作, √2 = [1;(2)], (2) 表示2无限循环出现。类似的,√23 = [4;(1,3,1,8)]。

事实证明平方根的连分数序列提供了最好的有理数近似值。让我们考虑√2 的收敛项:

因此 √2 的收敛项中的前十项是:

1, 3/2, 7/5, 17/12, 41/29, 99/70, 239/169, 577/408, 1393/985, 3363/2378, …
更令人惊奇的是一个重要的数学常数:
e = [2; 1,2,1, 1,4,1, 1,6,1 , … , 1,2k,1, …].

e 的收敛项序列中的前十项是:

2, 3, 8/3, 11/4, 19/7, 87/32, 106/39, 193/71, 1264/465, 1457/536, …

其中第十项的分子各位数之和是1+4+5+7=17.
找出 e 的收敛项序列中第100项的分子上各位之和。

continued_fractions = []
for k in range(33):
    continued_fractions.extend([1, 2 * (k + 1), 1])
numerator = 0
denominator = 1
for f in continued_fractions[::-1]:
    numerator = f * denominator + numerator
    numerator, denominator = denominator, numerator
numerator = numerator + 2 * denominator
numerator_sum = 0
while numerator:
    numerator_sum += numerator % 10
    numerator //= 10
print(numerator_sum)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值