Find the nth element in the Fibonacci series. The Fibonacci sequence starts with a 0 followed by a 1. After that, every value is the sum of the two values preceding it. Here are the first seven values as an example: 0, 1, 1, 2, 3, 5, 8.
Input: 0
Output: 0
Input: 2
Output: 1
Input: 10
Output: 55
If you solved this problem before iteratively, you may wish to convert that solution to a recursive version. Here are two iterative solutions - one in Ruby and one in JS:
def fibonacci(n)
return n if n < 2
values = [0, 1]
(n - 1).times do
values << values[-1] + values[-2]
end
values.last
end
function fibonacci(n) {
if (n < 2) {
return n;
}
const values = [0, 1];
for (let i = 0; i < n - 1; ++i) {
values.push(values[values.length - 1] + values[values.length - 2]);
}
return values[values.length - 1];
}
Hint: Code the base cases first.
Hint: You may wish to look up how the fibonacci sequence is expressed as a formula.
Hint: Start small. What needs to happen if n is 1 or n is 2?
Use the language of your choosing. We've included starter files for some languages where you can pseudocode, explain your solution and code.
- Rewrite the problem in your own words
- Validate that you understand the problem
- Write your own test cases
- Pseudocode
- Code!
And remember, don't run our tests until you've passed your own!
cd
into the ruby folderruby <filename>.rb
cd
into the javascript foldernode <filename>.js
cd
into the ruby folderbundle install
rspec
cd
into the javascript foldernpm i
npm test