问题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(使用前将#替换为@)