--- title: Fibonacci sequence id: 597f24c1dda4e70f53c79c81 challengeType: 5 --- ## Description
Write a function to generate the nth Fibonacci number. The nth Fibonacci number is given by: Fn = Fn-1 + Fn-2 The first two terms of the series are 0, 1. Hence, the series is: 0, 1, 1, 2, 3, 5, 8, 13...
## Instructions
## Tests
```yml tests: - text: fibonacci is a function. testString: assert(typeof fibonacci === 'function', 'fibonacci is a function.'); - text: fibonacci(2) should return a number. testString: assert(typeof fibonacci(2) == 'number', 'fibonacci(2) should return a number.'); - text: fibonacci(3) should return 1. testString: assert.equal(fibonacci(3),1,"fibonacci(3) should return 1."); - text: fibonacci(5) should return 3. testString: assert.equal(fibonacci(5),3,"fibonacci(5) should return 3."); - text: fibonacci(10) should return 34. testString: assert.equal(fibonacci(10),34,"fibonacci(10) should return 34."); ```
## Challenge Seed
```js function fibonacci(n) { // Good luck! } ```
## Solution
```js function fibonacci(n) { let a = 0, b = 1, t; while (--n > 0) { t = a; a = b; b += t; } return a; } ```