Fibonacci Sequence Calculate: Simple Methods and Examples
The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, typically starting with 0 and 1. This article shows simple ways to calculate Fibonacci numbers, explains when to use each method, and gives examples you can follow.
1. Definition and first terms
- Definition: F(0) = 0, F(1) = 1, and for n ≥ 2: F(n) = F(n-1) + F(n-2).
- First terms: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …
2. Method 1 — Iterative (recommended for most uses)
Iterative computation uses a loop to build Fibonacci numbers from the base cases. It is fast (O(n) time) and uses constant space (O(1)).
Algorithm (conceptual):
- If n = 0 return 0; if n = 1 return 1.
- Start with a = 0, b = 1.
- Repeat n-1 times: set next = a + b; then a = b; b = next.
- Return b.
Example (first few steps to compute F(7)):
- a=0, b=1
- step1: next=1 → a=1, b=1
- step2: next=2 → a=1, b=2
- step3: next=3 → a=2, b=3
- step4: next=5 → a=3, b=5
- step5: next=8 → a=5, b=8 → result F(7)=13 (after correct count)
Code (Python):
python
def fib_iterative(n): if n == 0: return 0 a, b = 0, 1 for _ in range(1, n): a, b = b, a + b return b
3. Method 2 — Recursive (educational, not for large n)
Recursive definition mirrors the mathematical definition but is exponential time (O(2^n)) without memoization.
Conceptual algorithm:
- If n ≤ 1 return n.
- Otherwise return fib(n-1) + fib(n-2).
Example: F(5) calls F(4)+F(3); those expand further.
Code (Python):
python
def fib_recursive(n): if n <= 1: return n return fib_recursive(n-1) + fibrecursive(n-2)
Note: Use recursion only for small n or for demonstrating the definition. For larger n, add memoization.
4. Method 3 — Recursive with memoization (dynamic programming)
Memoization stores computed values to avoid repeated work, giving O(n) time and O(n) space.
Code (Python):
python
from functools import lru_cache @lru_cache(None) def fib_memo(n): if n <= 1: return n return fib_memo(n-1) + fibmemo(n-2)
Alternatively, use a bottom-up DP array:
python
def fib_dp(n): if n == 0: return 0 dp = [0, 1] for i in range(2, n+1): dp.append(dp[i-1] + dp[i-2]) return dp[n]
5. Method 4 — Binet’s formula (closed form)
Binet’s formula computes Fibonacci numbers using the golden ratio φ = (1
Leave a Reply