Back to Freecodecamp

Challenge 145: Nth Fibonacci Number

curriculum/challenges/english/blocks/daily-coding-challenges-javascript/69306364df283fcaff2e1ad6.md

latest1.1 KB
Original Source

--description--

Given an integer n, return the nth number in the fibonacci sequence.

The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones. The first 10 numbers in the sequence are 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.

--hints--

nthFibonacci(4) should return 2.

js
assert.equal(nthFibonacci(4), 2);

nthFibonacci(10) should return 34.

js
assert.equal(nthFibonacci(10), 34);

nthFibonacci(15) should return 377.

js
assert.equal(nthFibonacci(15), 377);

nthFibonacci(40) should return 63245986.

js
assert.equal(nthFibonacci(40), 63245986);

nthFibonacci(75) should return 1304969544928657.

js
assert.equal(nthFibonacci(75), 1304969544928657);

--seed--

--seed-contents--

js
function nthFibonacci(n) {

  return n;
}

--solutions--

js
function nthFibonacci(n) {
  if (n === 1) return 0;
  if (n === 2) return 1;

  let a = 0;
  let b = 1;

  for (let i = 3; i <= n; i++) {
    const next = a + b;
    a = b;
    b = next;
  }

  return b;
}