S.Y.I.T Sem 3 Python Practical | Python| Python practical 1f|Write a recursive function to print the factorial for a given number. | python for beginner
Hello reader's
In this blog post we are going to see that how we can print the factorial for a given number using python.
To do this, first you have to know the basics like - What is recursive function? , What is factorial?, How to find the factorial of any given number.
Now let's see it one by one, First of all we will understand that What is recursive Function?
Recursive function is a function that call itself after a fix interval of time. Using the recursive algorithm, certain problems can be solved quite easily. Towers of Hanoi (TOH) is one such programming exercise. Try to write an iterative algorithm for TOH. Moreover, every recursive program can be written using iterative methods.
Mathematically, recursion helps to solve a few puzzles easily.
For example, a routine interview question,
In a party of N people, each person will shake her/his hand with each other person only once. In total how many hand-shakes would happen?
It can be solved in different ways; graphs, recursions, etc. Let us see how recursively it can be solved.
There are N persons. Each person shakes hands with each other only once. Considering N-th person, (s)he has to shake a hand with (N-1) the person. Now the problem is reduced to small instances of (N-1) persons. Assuming TN as a total shake-hands, it can be formulated recursively.
TN = (N-1) + TN-1 [T1 = 0, i.e. the last person has already shook-hand with every one]
Solving it recursively yields an arithmetic series, which can be evaluated into N(N-1)/2.
now we will see What is factorial?
The factorial of a number is the function that multiplies the number by every natural number below it.
For example, 4 factorial, that is, 4! can be written as: 4! = 4×3×2×1 = 24.
How to find the factorial of any given number ?
The formula for n factorial is:
n!=n*(n-1)!
This means that the factorial of any number is, the given number, multiplied by the factorial of the previous number. So,
8!= 8*7*6*5*4*3*2*1
9!= 9*8*7*6*5*4*3*2*1
and so on ......
Code -
def recur_factorial(n):
"""function to return the factorial of a number using recursion"""
if n == 1:
return n
else:
return n*recur_factorial(n-1)
num = int(input("Enter a number: "))
if num<0:
print ("Sorry , factorial does not exists for a negative number")
elif num ==0:
print("The factorial of 0 is 1")
else:
print("The factorial of",num,"is",recur_factorial(num))
Comments
Post a Comment
Thank you for sharing this.
You’re helping us become better. Want to stay in the loop? Subscribe to our YouTube channel.