# N-Bonacci Numbers in Python

In this article, we will learn how to implement N-Bonacci Numbers in Python. N-Bonacci Numbers are similar to the Fibonacci series but in the N-Bonacci series, each term is the sum of the last n elements.

Example

```Input: N = 4, M = 15
Output: 0 0 0 1 1 2 4 8 15 29 56 108 208 401 773
Explanation:
First three terms are 0, 0, 0, 1
The fourth element is 0 + 0 + 0 + 1 = 1
The fivth element is 0 + 0 + 1 + 1 = 2
The sixth element is 0 + 1 + 1 + 2 = 4
The seventh element is 1 + 1 + 2 + 4 = 8
so on up to 15 elements```

## N-Bonacci Numbers in Python

Method 1

1. Create an array arr[] of size m and initialize first n-1 terms to 0 and nth term to n.

2. Now calculate the sum of the previous n term and store it in arr[].

3. Finally, print the arr[].

```def nBonacciseries(n, m):
arr = [0]*m
arr[n-1] = 1

for i in range(n, m):
for j in range(i-n, i):
arr[i] = arr[i] + arr[j]
for i in range(m):
print(arr[i], end=" ")
N = int(input("Enter the N value: "))
M = int(input("Enter the M value: "))
nBonacciseries(N, M)```

Output

```Enter the N value: 3
Enter the M value: 10
0 0 1 1 2 4 7 13 24 44```

Method 2

1. Create an array a[] of size m and initialize its value to 0 and set arr[n-1] =1 and arr[n] = 1.

2. Iterate the arr[] from range n+1 to m

• setÂ  arr[i] = 2* arr[i-1]-arr[i-n-1]

3. Finally, print the arr[].

```def nBonacciseries(n, m):
arr = [0 for i in range(m)]
arr[n-1] = 1
arr[n] = 1
for i in range(n+1, m):
arr[i] = 2* arr[i-1]-arr[i-n-1]
for i in range(m):
print(arr[i], end=" ")
N = int(input("Enter the N value: "))
M = int(input("Enter the M value: "))
nBonacciseries(N, M)```

Output

```Enter the N value: 4
Enter the M value: 16
0 0 0 1 1 2 4 8 15 29 56 108 208 401 773 1490```