From 9a65938232d1fa9e1afe9a6eb2de48d25ff738a6 Mon Sep 17 00:00:00 2001 From: Charles Date: Sat, 17 Aug 2019 20:39:03 +0200 Subject: haskell problem 22, 24, 25, 29, 39, 40, 45, 53, 59 --- haskell/025-1000_digit_fibonacci_number.hs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 haskell/025-1000_digit_fibonacci_number.hs (limited to 'haskell/025-1000_digit_fibonacci_number.hs') 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) -- cgit