diff options
Diffstat (limited to 'haskell/025-1000_digit_fibonacci_number.hs')
| -rw-r--r-- | haskell/025-1000_digit_fibonacci_number.hs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/haskell/025-1000_digit_fibonacci_number.hs b/haskell/025-1000_digit_fibonacci_number.hs new file mode 100644 index 0000000..969d09e --- /dev/null +++ b/haskell/025-1000_digit_fibonacci_number.hs @@ -0,0 +1,28 @@ +-- The Fibonacci sequence is defined by the recurrence relation: +-- +-- Fn = Fn−1 + Fn−2, where F1 = 1 and F2 = 1. +-- Hence the first 12 terms will be: +-- +-- F1 = 1 +-- F2 = 1 +-- F3 = 2 +-- F4 = 3 +-- F5 = 5 +-- F6 = 8 +-- F7 = 13 +-- F8 = 21 +-- F9 = 34 +-- F10 = 55 +-- F11 = 89 +-- F12 = 144 +-- The 12th term, F12, is the first term to contain three digits. +-- +-- What is the index of the first term in the Fibonacci sequence to contain 1000 digits? + + +main = print (length $ takeWhile (\x -> x `div` 10 ^ 999 == 0) fibs) + +-- thanks to you, random german video +-- found this: https://wiki.haskell.org/The_Fibonacci_sequence +fibs :: [Integer] +fibs = 0 : 1 : zipWith (+) fibs (tail fibs) |
