[Python] Important Algorithms
Factorial function
def factorial(n): #Task 1: Factorial function
if n==0: #Case 1: 0!
return 1
else: #Case 2: <positive_integer>!
return n*factorial(n-1) #multiply with factorial of n-1
Recursive arithmetic sum
def arithmetic_sum_2(term1,com_dif,n): #Task 2(alternative): Arithmetic Sum Function – Recursive method
if n==1: #Case 1: last term to add(=the first term of the sequence)
return term1
else: #Case 2: add <positive integer>th term
return arithmetic_sum_2(term1,com_dif,(n-1))+(n-1)*com_dif+term1
Iterative arithmetic sum
def arithmetic_sum_1(term1,com_dif,n): #Task 2: Arithmetic Sum function – Formula method
return (n/2)*(2*term1+(n-1)*com_dif)
Recursive arithmeticgeometric sum
def geometric_sum_2(term1,com_rat,n): #Task 3: Geometric Sum function – Recursive method
if n==1: #Case 1: last term to add(=the first term of the sequence)
return float(term1)
else: #Case 2: add <positive integer>th term
return float(geometric_sum_2(term1,com_rat,(n-1))+term1*(com_rat**(n-1))) #perform nth term addition
Iterative geometric sum
def geometric_sum_1(term1,com_rat,n): #Task 3: Geometric Sum function – Formula method
return (term1-(com_rat**n))/(1-com_rat)
Fibonacci function
def fibonacci(term1,term2,n): #Task 4: Fibonacci function
if n == 0:
return term1
elif n == 1:
return term2
else:
return fibonacci(term1,term2,(n-1))+fibonacci(term1,term2,(n-2))
Compound Interest
def compound_interest(initial,inc,n):
return initial*((1+(inc/100))**n)