Nth multiple of a number in Fibonacci Series in Python (original) (raw)

Last Updated : 10 Nov, 2025

The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, starting with 0 and 1:

0, 1, 1, 2, 3, 5, 8, 13, 21, ...

In this article, we will find the n-th Fibonacci number that is divisible by a given number m.

**Example:

**Input: n=2, m=3
**Output: 21

**Explanation: If n = 2 and m = 3, the Fibonacci numbers divisible by 3 (m) are 3, 21, 144, 987, ... Hence, the second multiple of 3 in the Fibonacci sequence is 21.

Iterative Approach

In this method, Fibonacci numbers are generated one by one in a loop. Each number is checked for divisibility by m, and a counter is increased until the n-th multiple is reached.

Python `

n, m = 4, 3 a, b, count = 0, 1, 0

while True: a, b = b, a + b if b % m == 0: count += 1 if count == n: print(b) break

`

**Explanation:

Dynamic Programming

This approach stores previously computed Fibonacci numbers in a list to avoid redundant calculations. It avoids recalculating Fibonacci numbers by storing them in a list, making it efficient for larger inputs.

Python `

def fun(n, m): fib = [0, 1] count = 0

while True:
    fib.append(fib[-1] + fib[-2])
    if fib[-1] % m == 0:
        count += 1
        if count == n:
            return fib[-1]

n, m = 4, 3 print(fun(n, m))

`

**Explanation:

Recursive Approach with Memoization

This method calculates Fibonacci numbers recursively while storing results in a dictionary to avoid redundant calculations.

Python `

def fib(n, memo={0: 0, 1: 1}): if n not in memo: memo[n] = fib(n - 1, memo) + fib(n - 2, memo) return memo[n]

def fun(n, m): count, idx = 0, 2 while True: value = fib(idx)

    if value % m == 0: 
        count += 1
        if count == n:  
            return value  
    idx += 1  

n, m = 4, 3
print(fun(n,m))

`

**Explanation: