Skip to content

Instantly share code, notes, and snippets.

@yclim95
Forked from nextacademy-private/fibonacci.rb
Created January 13, 2016 16:54
Show Gist options
  • Save yclim95/76ff49fe0408a48498d9 to your computer and use it in GitHub Desktop.
Save yclim95/76ff49fe0408a48498d9 to your computer and use it in GitHub Desktop.
def fibonacci_iterative(n)
return 0 if n==0
return 1 if n==1
second_previous_num=0
first_previous_num=1
until n == 1
sum_of_two_num= first_previous_num + second_previous_num #if n==2, sum_of_two_num=1
second_previous_num=first_previous_num #if n==2, second_previous_num=1
first_previous_num=sum_of_two_num #if n==2, first_previous_num=1
n-=1
end
sum_of_two_num # return 1
end
def fibonacci_recursive(n)
return 0 if n==0
return 1 if n==1
fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2) # recursion is called
end
puts fibonacci_recursive(0) == 0 # straight return 0
puts fibonacci_recursive(1) == 1 # straight return 1
puts fibonacci_recursive(2) == 1 # start evaluating by calling its method again until u get the value
puts fibonacci_recursive(3) == 2
puts fibonacci_recursive(4) == 3
puts fibonacci_recursive(5) == 5
puts fibonacci_recursive(6) == 8
puts fibonacci_recursive(7) == 13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment