Project Euler 25

Project Euler 25

题目

1000-digit Fibonacci number

The Fibonacci sequence is defined by the recurrence relation: F1=1F2=1 Fn=Fn1+Fn2 Hence the first 12 terms will be: F1=1F2=1F3=2F4=3F5=5F6=8F7=13F8=21F9=34F10=55F11=89F12=144

The 12th term, F12, is the first term to contain three digits.

What is the first term in the Fibonacci sequence to contain 1000 digits?

解决方案

利用 Python 可以做大数运算的特点,直接迭代运算。

代码

1
2
3
4
5
6
7
8
9
10
11
from itertools import count

N = 1000
a = b = 1
for i in count(1, 1):
if len(str(a)) == N:
ans = i
break
a, b = b, a + b
print(ans)

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
Ujimatsu Chiya 微信 微信
Ujimatsu Chiya 支付宝 支付宝