aboutsummaryrefslogtreecommitdiff
path: root/haskell/025-1000_digit_fibonacci_number.hs
diff options
context:
space:
mode:
Diffstat (limited to 'haskell/025-1000_digit_fibonacci_number.hs')
-rw-r--r--haskell/025-1000_digit_fibonacci_number.hs28
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)