Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Fibonacci proof
{-- So, here we are fa-la-la, tra-la-la, and I pull from my bundle of tricks a math-ish problem. Counting is 'math'-...ish, isn't it? This is from @jammestanton who asks us to make the following observation about the Fibonacci numbers, which we found from our dear sweetie, Rosalind have to do with bunnies and what bunnies like to do. So, we have the Fibonacci number series: 1,1,2,3,5,8,... So let f n be the nth Fibonacci number so f 1 == 1, f 2 == 1, etc. --} f :: Integer -> Integer f 0 = 0 f 1 = 1 f n = (f $ n - 2) + (f $ n - 1) -- Now, let g n be the count of the Fibonacci numbers < n (so, g 3 == 3) g :: Integer -> Integer g n = foldl (\x _ -> x + 1) 0 . takeWhile (< n) $ map f [1..] -- NOW, let h n be the count of the number of g's that are < n h :: Integer -> Integer h n = foldl (\x _ -> x + 1) 0 . takeWhile (< n) $ map g [1..] -- James asks: What do you notice unique to Fibonacci numbers? main = print $ map f [1..10] == map h [1..10]
run
|
edit
|
history
|
help
0
Please
log in
to post a comment.
first haskell program
Hanoi solver
Traversable
Sierpinski Triangle as lazy list
Token
Haskell Prime Factorizer
project euler 8, haskell
Factorial in haskell
Znajdz trójkąty prostokątne
project euler 6, haskell
Please log in to post a comment.