# Python Program to Print the Fibonacci Sequence

In Arithmetic, the Fibonacci Collection is a sequence of numbers such that every quantity within the sequence is a sum of the previous numbers. The sequence begins with 0 and 1. This weblog will educate us methods to create the Fibonacci Collection in Python utilizing a loop, recursion, and dynamic programming. Try this Python for learners course now we have ready so that you can brush up your skils.

1. What’s Fibonacci Collection
2. Fibonacci Collection Logic
3. Fibonacci Collection System
4. Fibonacci Spiral
5. Fibonacci sequence algorithm
6. Fibonacci Collection in Python
a. Fibonacci Collection Utilizing loop
b. Fibonacci Collection utilizing Recursion
c. Fibonacci Collection utilizing Dynamic Programming
7. FAQs

Leonardo Pisano Bogollo was an Italian mathematician from the Republic of Pisa and was thought of essentially the most proficient Western mathematician of the Center Ages. He lived between 1170 and 1250 in Italy. “Fibonacci” was his nickname, that means “Son of Bonacci.” Fibonacci was not the primary to know in regards to the sequence, and it was recognized in India a whole lot of years earlier than!

## What’s Fibonacci Collection?

Fibonacci Collection is a sample of numbers the place every quantity outcomes from including the final two consecutive numbers. The primary 2 numbers begin with 0 and 1, and the third quantity within the sequence is 0+1=1. The 4th quantity is the addition of the 2nd and third quantity, i.e., 1+1=2, and so forth.
The Fibonacci Sequence is the sequence of numbers:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …

## The logic of the Fibonacci Collection

The next quantity is a sum of the 2 numbers earlier than it.
The third factor is (1+0) = 1
The 4th factor is (1+1) = 2
The fifth factor is (2+1) = 3

## Fibonacci Collection System

Therefore, the system for calculating the sequence is as follows:
xn = xn-1 + xn-2 ; the place
xn is the time period quantity “n”
xn-1 is the earlier time period (n-1)
xn-2 is the time period earlier than that

## Fibonacci Spiral

An thrilling property about these numbers is that we get a spiral after we make squares with these widths. A Fibonacci spiral is a sample of quarter-circles related inside a block of squares with Fibonacci numbers written in every of the blocks. The quantity within the big sq. is a sum of the next 2 smaller squares. This can be a excellent association the place every block is denoted the next quantity than the earlier two blocks. The primary concept has been derived from the Logarithmic sample, which additionally appears related. These numbers are additionally associated to the golden ratio.

Learn to discover if a String is a Palindrome in Python

## Fibonacci Collection Algorithm

### Iterative Method

• Initialize variables a,b to 1
• Initialize for loop in vary[1,n) # n exclusive
• Compute next number in series; total = a+b
• Store previous value in b
• Store total in a

### Recursive Approach

• If n equals 1 or 0; return 1
• Else return fib(n-1) + fib(n-2)

### Dynamic Programming Approach

• Initialize an array arr of size n to zeros
• If n equals 0 or 1; return 1 Else
• Initialize arr[0] and arr[1] to 1
• Run for loop in vary[2,num]
• Compute the worth arr[I]=arr[I-1] +arr[I-2]
• The array has the sequence computed until n

Therefore, the answer could be to compute the worth as soon as and retailer it in an array from the place it may be accessed the subsequent time it’s required. Subsequently, we use dynamic programming in such instances. The situations for implementing dynamic programming are
1. overlapping sub-problems
2. optimum substructure

### Iterative Method

```def fib_iter(n):
a=1
b=1
if n==1:
print('0')
elif n==2:
print('0','1')
else:
print("Iterative Method: ", finish=' ')
print('0',a,b,finish=' ')
for i in vary(n-3):
complete = a + b
b=a
a= complete
print(complete,finish=' ')
print()
return b

fib_iter(5)
```

TEST THE CODE

Output : Iterative Method : 0 1 1 2 3

### Recursive Method

```def fib_rec(n):
if n == 1:
return [0]
elif n == 2:
return [0,1]
else:
x = fib_rec(n-1)
# the brand new factor the sum of the final two parts
x.append(sum(x[:-3:-1]))
return x
x=fib_rec(5)
print(x)
```

TEST THE CODE

Output – 0, 1, 1, 2, 3

### Dynamic Programming Method

```There's a slight modification to the iterative strategy. We use an extra array.
def fib_dp(num):
arr = [0,1]
print("Dynamic Programming Method: ",finish= ' ')
if num==1:
print('0')
elif num==2:
print('[0,','1]')
else:
whereas(len(arr)```

TEST THE CODE

Output – 0, 1, 1, 2, 3

In the event you discovered this weblog useful, study synthetic intelligence and energy forward in your profession. Be taught from the business’s finest and acquire entry to mentorship periods and profession help.

## FAQs

What are the properties of the Fibonacci sequence?

The Fibonacci sequence has a number of properties, together with:
-Every quantity within the sequence is the sum of the 2 previous numbers.
-The primary two numbers within the sequence are 0 and 1.

What are some purposes of the Fibonacci sequence?

The Fibonacci sequence has a number of purposes, together with:
-It may be used to mannequin the expansion of populations of animals.
-It may be used to calculate the Golden Ratio, which is utilized in structure and artwork.
-It may be utilized in laptop programming to generate environment friendly algorithms.

What's the time complexity of producing the Fibonacci sequence?

The time complexity of producing the Fibonacci sequence is O(n).

What's the area complexity of storing the Fibonacci sequence?

The Fibonacci sequence is an infinite sequence, so the area complexity is infinite.