chore(Python): add fibonacci algorithms (#327)

pull/330/head
abhijit 2021-05-30 03:04:53 +05:30 committed by GitHub
parent 4e1b8a502a
commit d55f566a00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 125 additions and 0 deletions

View File

@ -37,3 +37,9 @@
4. [Remove Duplicates from a String](strings/remove_duplicates_from_a_string.py)
5. [First Non Repeating Character](strings/first_non_repeating_character.py)
6. [Longest Common Subsequence](strings/longest_common_subsequence.py)
## Dynamic Programming
1. [Print Fibonacci Series Up To N-th Term](dynamic_programming/fibonacci_series.py)
2. [Sum Up To N-th Term Of Fibonacci Series](dynamic_programming/fibonacci_series_sum.py )
3. [N-th Term Of Fibonacci Series](dynamic_programming/fibonacci_series_nth_term.py)

View File

@ -0,0 +1,43 @@
# Print the fibonacci series up to term n using dynamic approach
# Fibonacci series starts from 0th term
"""
Output:
The fibonacci series up to term 20: 0 1 1 2 3 5 8 13 21 34 55
89 144 233 377 610 987 1597 2584 4181 6765
"""
key = 20
if key < 0:
print("Please enter a valid term.")
exit()
d = {0: 0, 1: 1}
print(f"The fibonacci series up to term {key}: ", end=" ")
if key == 0:
print(0)
exit()
if key == 1:
print(0, "\t", 1)
exit()
print(0, "\t", 1, sep="", end="")
def fibo(n):
if n in d.keys():
return d[n]
else:
d[n] = fibo(n - 1) + fibo(n - 2)
print("\t", d[n], end=" ")
return d[n]
fibo(key)
print()

View File

@ -0,0 +1,34 @@
# Find the nth term of fibonacci series using dynamic approach
# Fibonacci series starts from 0th term
"""
Output:
The term 10 of the fibonacci series is: 55
"""
key = 10
if key < 0:
print("Please enter a valid term.")
exit()
d = {0: 0, 1: 1}
if key < 2:
print(f"The term {key} of the fibonacci series is: ", d[key])
exit()
def fibo(n):
if n in d.keys():
return d[n]
else:
d[n] = fibo(n - 1) + fibo(n - 2)
return d[n]
fibo(key)
print(f"The term {key} of the fibonacci series is: ", d[key])

View File

@ -0,0 +1,42 @@
# Find the sum up to nth term of fibonacci series using dynamic approach
# Fibonacci series starts from 0th term
"""
Output:
Sum up to term 10 of fibonacci series is: 143
"""
key = 10
if key < 0:
print("Please enter a valid term.")
exit()
d = {0: 0, 1: 1}
if key == 0:
print(f"Sum up to term {key} of fibonacci series: ", 0)
exit()
if key == 1:
print(f"Sum up to term {key} of fibonacci series: ", 1)
exit()
sum = 1
def fibo(n):
if n in d.keys():
return d[n]
else:
d[n] = fibo(n - 1) + fibo(n - 2)
global sum
sum += d[n]
return d[n]
fibo(key)
print(f"Sum up to term {key} of fibonacci series is: ", sum)