欧拉计划 #13 理解 (Python)

2024-03-19

问题13:http://projecteuler.net/problem=13 http://projecteuler.net/problem=13

计算出以下一百个 50 位数字之和的前十位数字。 那么,问题的总和是 5000 位,答案是结果的前 10 位吗?

bignumber = list of the 5000 digits
sum(bignumber) = abcdefghijklmnopqrst...    
answer = abcdefghj

好吧,当我这样做时sum(bignumber) = 22660(甚至不是10位数字)...

我是否误读了这个问题?

def foo():
    with open ("bignumber", "r") as myfile:
        data=myfile.read().replace('\n', '')
    data = map(long, data)
    datasum = sum(data)
    return (datasum)

你误读了这个问题。

它们为您提供了 100 个需要求和的数字,每个数字的长度为 50 位(也称为 X*10^50 的大小)。 50 位数字部分就在那里,所以你不能只使用传统的 int/long 数据类型(正如 JLLAgrange 指出的那样,这部分对于 python 来说不应该是问题,因为整数没有最大值)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

欧拉计划 #13 理解 (Python) 的相关文章

随机推荐