This script defines three methods to calculate the factorial of a number. First method uses Recursion , second one uses the Iteration using a for loop and third one uses Memoization(Dynamic Programming).
Code:
Execution:
Code:
def FactorialRecursive(num): if num < 0: print 'Invalid Input' return -1 if num== 0: return 1 return num*FactorialRecursive(num-1) def FactorialIterative(num): if num >= 0: fact = 1 for numbers in range(1,num+1): fact = fact* numbers return fact else: print 'Invalid Input' return -1 def FactorialDP(num): if num < 0: print 'Invalid Input' return -1 result = [1]*20 for numbers in range(1,num+1): result[numbers] = numbers * result[numbers-1] return result[num] #Take user input and call the Factorial function userNum = int(raw_input('Enter the Number : ')) print 'Factorial using Recursive Method for {0} : {1}'.format(userNum, FactorialRecursive(userNum)) print 'Factorial using Iterative Method for {0} : {1}'.format(userNum, FactorialIterative(userNum)) print 'Factorial using Dynamic Programming Method for {0} : {1}'.format(userNum, FactorialDP(userNum))
Execution:
No comments:
Post a Comment