---
id: 69306364df283fcaff2e1ad6
title: "Challenge 145: Nth Fibonacci Number"
challengeType: 28
dashedName: challenge-145
---

# --description--

Given an integer `n`, return the `n`th 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;
}
```
