{{announcement.body}}
{{announcement.title}}

Day 15 of 30 Ruby Coding Challenge - Fibonacci Sequence Recursively

DZone 's Guide to

Day 15 of 30 Ruby Coding Challenge - Fibonacci Sequence Recursively

Day 15 of 30. We're going to solve the famous Fibonacci sequence recursively in Ruby. This is not a better strategy than the previous one, this will be just another option :)

· Web Dev Zone ·
Free Resource

Hey friends!

This is the blog post version of the Youtube video from the 30 Ruby Coding Challenges in 30 Days series


Today, we’ll solve the previous Fibonacci problem using the dreaded recursion approach. A little bit of theory was explored in this video, and today, I’ll straight to the point

Fibonacci Recursively in Theory

Just to remember:

  • A recursive method is a method that calls itself.
  • A recursive method usually solves a smallest version of the bigger (original) problem.

When it comes to Fibonacci, the definition already gives us a hint of how to solve it recursively:

To get the next number in a sequence, you have to sum the previous two numbers

Let’s say that we want the first 8 numbers in the Fibonacci sequence:

Plain Text


Notice that to get the value 13, we need to first calculate the first 7 numbers of a Fibonacci sequence. But to get the value 8, we need to first calculate the first 6 numbers of a Fibonacci sequence. And to get the value 5, we need to first calculate the first 5 numbers of a Fibonacci sequence.

Yup, you got it : ) We need to calculate the Fibonacci number of the previous 2 numbers

Fibonacci Recursively in Ruby

Version 1

Notice that the count argument controls when to stop the method calling itself

Ruby


Version 2

In 1 line, we could use a ternary operation:

Ruby


Great!

Probably you may already know that this approach doesn’t have a good performance, but this is something for another post :).

Thanks for the visit and see you in the next coding challenge!

Don’t forget to come by and say hi!
Courses Twitter Youtube Instagram Linkedin GitHub

Topics:
algorithm, algorithm analysis, coding, fibonacci, programming, recursion, ruby, ruby on rails, tutorial for beginners

Published at DZone with permission of Alexandre Gama . See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}