![](/img/trans.png)
[英]Project Euler Problem 17, Python, I Am getting wrong Answer, No Idea why
[英]Why is my Project Euler problem 25 answer wrong?
Project Euler 问题 25 https://projecteuler.net/problem=25 ,非常简单。 要解决的问题是:
斐波那契数列中包含 1000 位数字的第一项的索引是多少?
但我的答案是错误的,我不知道为什么。
再简单不过了,我只是得到了错误的答案
def fib_gen(i=1, j=1):
yield 1
yield 1
while 1:
i, j = i+j, i
yield i
for i, f in enumerate(fib_gen()):
if f < (10**1000):
pass
else:
if f > (10**1000-1):
print(i+1, f)
break
我的回答 4787
正确答案 4782,我想。
更新没关系。 我发现 10**1000 是 1001 位数字
如果使用if f > (10**(1000-1)):
则会得到 4782。
试试这个:-
def fib(limit):
var, var1,l = 0,1,0
for i in range(limit):
ph = var1
var1, var = var+var1, ph
l = ph
return l
counter = -1
while 1:
counter += 1
v = fib(counter)
if len(str(v)) == 1000:
print(counter)
break
# output: 4782
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.