# Calculate Fibonacci numbers

Return the nth Fibonacci number with memoized recursion.

Canonical: https://1loc.dev/number/calculate-fibonacci-numbers/
Version: 1.0.0
Runtime: JavaScript · Node.js 22 / modern browsers
Verification: Local fixtures; no external services
Updated: 2026-10-28

## Implementation

```javascript
function fibonacci(n, memo = {}) { return memo[n] || (n <= 2 ? 1 : (memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo))); }
```

## Input

```json
10
```

## Expected output

```json
55
```

## Edge case

Input:
```json
78
```
Output:
```json
8944394323791464
```

## Limits

- The lab stops at n = 78, the largest Fibonacci number below Number.MAX_SAFE_INTEGER; use BigInt beyond it.
- fibonacci(1) and fibonacci(2) are 1; n = 0 also returns 1 here.

The lab validates types and size before calling this function. Add equivalent validation at your own trust boundary.

## Source and license

Original: https://github.com/phuocng/1loc/blob/14b481cf60dff1620ab1bb99a43b1f68068cdd9b/contents/calculate-fibonacci-numbers.mdx
Author: Nguyen Huu Phuoc and original contributors
Contributors: See original repository history
Source commit: 14b481cf60dff1620ab1bb99a43b1f68068cdd9b
Copyright (c) 2020 phuoc-ng
License: MIT — https://1loc.dev/licenses/
Maintainer: Oveyon
Modifications: Caps n at 78 to stay below Number.MAX_SAFE_INTEGER. Original MDX retained as inert source evidence.
