请帮助我理解为什么我解决13th Project Euler problem的Python代码是不正确的,我相信我正确地理解了任务,我认为我的代码是正确的,但显然不是。
number = '5000 digit number - see in the problem decription at the provided link'
list1 = [number[i:i+100] for i in range(0, len(number), 100)]
temp = []
for i in range(0, len(list1)):
y = int(list1[i])
temp.append(y)
print sum(temp)
7条答案
按热度按时间cxfofazt1#
首先,数字长度为50位,而不是100位。请更改以下内容:
对此:
第二,您打印的是整个总和,而不是前十位数字。
n7taea2i2#
简单得多:
odopli943#
只需要对前11个数字求和,
因为进位不能超过99。
zqry0prt4#
使用
StringIO
将number作为输入字符串,并通过将每个元素转换为整数值来迭代元素9o685dep5#
另一种方法是将数字加载到文件中,然后将它们相加,除非我也完全误解了这个问题。
前10位数字5537376230,总计5537376230390876637302048746832985971773659831892672
emeijp436#
其实很简单
laik7k3q7#
正确答案是5537376230,请与体育部核对。
这里真实的的挑战是处理一个很长的字符串