A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
13
Task/Fibonacci-sequence/Ruby/fibonacci-sequence-3.rb
Normal file
13
Task/Fibonacci-sequence/Ruby/fibonacci-sequence-3.rb
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Use the Hash#default_proc feature to
|
||||
# lazily calculate the Fibonacci numbers.
|
||||
|
||||
fib = Hash.new do |f, n|
|
||||
f[n] = if n <= -2
|
||||
(-1)**(n+1) * f[n.abs]
|
||||
elsif n <= 1
|
||||
n.abs
|
||||
else
|
||||
f[n-1] + f[n-2]
|
||||
end
|
||||
end
|
||||
# examples: fib[10] => 55, fib[-10] => (-55/1)
|
||||
Loading…
Add table
Add a link
Reference in a new issue