📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.
🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
1. Introduction
The factorial of a non-negative integer n is the product of all positive integers less than or equal to n. It's denoted by n! and is defined as n! = n x (n-1) x (n-2) x ... x 1. For example, 5! = 5 x 4 x 3 x 2 x 1 = 120. In this blog post, we'll develop a Python program that calculates the factorial of a given number.
2. Program Overview
Our program will take an integer input from the user and then compute the factorial using a recursive approach. The base case is that the factorial of 0 is 1.
3. Code Program
def factorial(n): """Compute the factorial of n.""" # Base case: factorial of 0 is 1 if n == 0: return 1 # Recursive case: n! = n * (n-1)! return n * factorial(n-1) # Input number from user num = int(input("Enter a number: ")) # Ensure the number is non-negative if num < 0: print("Please enter a non-negative integer.") else: print(f"The factorial of {num} is {factorial(num)}.")
Output:
For the input 5, the program will output: "The factorial of 5 is 120."
4. Step By Step Explanation
1. The factorial function calculates the factorial using recursion.
2. If the number is 0, it directly returns 1 (base case).
3. For any other number, it returns n multiplied by the factorial of (n-1). This recursion continues until n becomes 0.
4. In the main section, the program prompts the user for input. If the number is negative, it informs the user to enter a non-negative integer.
5. Otherwise, it calls the factorial function and displays the result.
Comments
Post a Comment
Leave Comment