[英]Project Euler Number 8 Python
因此,该问题要求找到一个大整数中13个连续整数的最大乘积。 我已经研究了SO上的其他一些解决方案,但没有一个与我提出的解决方案完全相同。
from numpy import product
def function():
x=#massive integer goes here, x is a string which I then turn into a list.
my_list=[]
for i in x:
my_list.append(int(i))
j=0
while j+12 < len(my_list):
answer=long(0)
my_slice=my_list[j:(j+12)]
test=long(product(my_slice))
if test>answer:
answer=test
j+=1
else:
j+=1
return answer
这段代码返回了1666980L,它的数量级太小,但是我看不到我的错误。
您的切片不是13长的python切片符号为[m:n),排除了最后一个索引,因此您需要通过在切片中添加一个来解决此问题,即
my_slice=my_list[j:(j+12)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.