Project Euler with Ruby on WSL [Problem 25]

たまに問題の質が変わる

んだなぁ

問題

1000-digit Fibonacci number

The Fibonacci sequence is defined by the recurrence relation:

 F_n = F_{n−1} + F_{n−2} , where  F_1 = 1 and  F_2 = 1. Hence the first 12 terms will be:

  • F_1 = 1
  • F_2 = 1
  • F_3 = 2
  • F_4 = 3
  • F_5 = 5
  • F_6 = 8
  • F_7 = 13
  • F_8 = 21
  • F_9 = 34
  • F_{10} = 55
  • F_{11} = 89
  • F_{12} = 144

The 12th term, F_{12}, is the first term to contain three digits.

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

私訳

1000桁のフィボナッチ数

フィボナッチ数列の中で、最初に 1000 桁である項の添え字はいくつか?

解答方針

これ愚直にやると解けないんじゃないかとちょっと心配になる 12項につき 2 桁程度増えるとすると、1000桁増えるには 1000/2*12 = 6000 項ほど必要な計算になる

ってごり押しで行けそうな気がしてきたな

行けちゃった…。実際には 6000 よりだいぶ小さい。

f:id:zpx:20200506005905p:plain
level1