--- 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; } ```