Python Chương trình tìm giai thừa của một số
⚡ Tóm tắt thông minh
Giai thừa của một số trong Python là tích của mọi số nguyên dương nhỏ hơn hoặc bằng chính số đó. Python Nó tính toán bằng vòng lặp for, câu lệnh if-else, đệ quy hoặc hàm math.factorial() tích hợp sẵn.
Các phần bên dưới trình bày bốn cách tính giai thừa trong Python — một vòng lặp for, một phiên bản if-else, đệ quy và math.factorial() — cùng với thuật toán và các ứng dụng cơ bản.
Giai thừa của một số sử dụng vòng lặp for
Chúng ta hãy lấy ví dụ về Python Đoạn mã này nhận một số nguyên dương làm đầu vào để tính giai thừa của các số nguyên dương. Trong đoạn mã sau, vòng lặp bắt đầu với số 1, sau đó nhân với từng số đứng trước số cần tính giai thừa.
Sau đây Python mã minh họa hàm giai thừa bằng cách sử dụng một vòng lặp.
Python mã:
print ("Input a number") factorialIP = int (input ()) ffactor23 = 1 for j in range (1, factorialIP+1): ffactor23 = ffactor23 * j print ("The factorial of the number is “, ffactor23)
Đầu ra:
Input a number
4
The factorial of the number is 24
Trên đây Python Chương trình chỉ nhận đầu vào là các số dương và không kiểm tra số âm. Trong chương trình này, hệ số là 1 khi j bằng 1. Khi j bằng 2, hệ số được nhân với 2, và quá trình này sẽ tiếp tục cho đến khi j bằng 4 để đạt được 24.
Giai thừa của một số sử dụng câu lệnh IF…else
Sau đây Python Đoạn mã này minh họa hàm giai thừa bằng cách sử dụng một hàm. Không giống như phiên bản sử dụng vòng lặp, chương trình này cũng kiểm tra các số âm trước khi tính giai thừa.
Trong trước Python Trong đoạn mã này, việc kiểm tra số âm không được áp dụng, khiến hàm giai thừa không hoàn chỉnh và dễ gây ra lỗi nếu nhập số âm.
Trong đoạn mã được cung cấp, vòng lặp bắt đầu với số 1 và nhân với mỗi số liền trước nó, đồng thời hàm cũng kiểm tra tính hợp lệ của số âm trong dữ liệu đầu vào.
Python mã:
print("Enter a number for the purpose of determining factorial") factorialIP = int(input()) def factorial(factorialIP): if factorialIP < 0: print ('Factorial does not exist') factor=0 return factor elif factorialIP == 0: factor=1 return factor print(factor) else: factor = 1 for j in range (1, factorialIP+1): factor = factor * j return factor print ("The factorial of the number is ", factorial(factorialIP))
Đầu ra:
1) Enter a number to determine factorial -4 Factorial does not exist The factorial of the number is 0 2) Enter a number to determine factorial 4 Factorial does not exist The factorial of the number is 24
T Python Chương trình chấp nhận các số dương và thêm kiểm tra số âm bằng cách sử dụng câu lệnh if và else, trả về chính xác 24 khi nhập giá trị 4.
Giai thừa của một số sử dụng đệ quy
Sau đây Python Đoạn mã này minh họa hàm giai thừa bằng phương pháp đệ quy. Trong ví dụ này, một hàm đệ quy nhận một số nguyên dương làm đầu vào sẽ xác định số giai thừa.
Python mã:
print("Enter a number for the purpose of determining factorial") def factorial(num2): if num2 < 0: return 'Factorial does not exist' elif num2 == 0: return 1 else: return num2 * factorial(num2-1) number1 = int(input()) print("The factorial of the number is",factorial(number1))
Đầu ra:
Enter a number for the purpose of determining factorial 4 The factorial of the number is 24
Đệ quy có thể được giải thích như một khái niệm trong đó hàm được gọi trong Python Mô-đun có thể tự gọi chính nó nhiều lần. Nó chạy cho đến khi... Python Điều kiện hiện có trong mô-đun được thỏa mãn, trong đó hàm được gọi sẽ được truyền một giá trị.
Ở trên Python Trong chương trình, hàm def factorial liên tục gọi chính nó một cách đệ quy cho đến khi số đó đạt đến 0. Khi số đó đạt đến 0, nó sẽ khởi tạo lại số đó bằng 1, kết thúc quá trình đệ quy.
Tính giai thừa của một số bằng cách sử dụng hàm math.factorial()
Sau đây Python mã minh họa hàm giai thừa bằng cách sử dụng math.factorial(), có thể được sử dụng bằng cách nhập mô-đun toán học.
Hàm này không chấp nhận số nguyên âm và sẽ báo lỗi giá trị khi cung cấp số thực.
Python mã:
print("Enter a number for computing factorial") import math number1 = int(input()) print("The factorial is as computed comes out to be ") print(math.factorial(number1))
Đầu ra:
Enter a number for computing factorial 4 The factorial, as computed, comes out to be 24
Thuật toán cho chương trình giai thừa trong Python
Chúng ta hãy lấy một ví dụ minh họa khái niệm giai thừa.
Để xác định giai thừa 5, hãy làm theo các bước sau:
5! = 5 x (5-1) x (5-2) x (5-3) x (5-4) 5! =120
Đây, 5! được biểu thị bằng 120.
Sơ đồ sau đây giúp bạn hiểu thuật toán tính giai thừa và trong trường hợp này, chúng ta hãy lấy ví dụ về giai thừa 4!
Thuật toán kiêm ví dụ minh họa giai thừa 4!
Ứng dụng giai thừa trong Python
Giai thừa của một số có ứng dụng rất rộng rãi trong toán học. Dưới đây là những ứng dụng quan trọng của Python:
- Python giúp tính toán, tiếp theo là giai thừa in nhanh hơn và hiệu quả hơn các ngôn ngữ lập trình có sẵn khác.
- Python mã dễ hiểu và có thể được sao chép trên các nền tảng khác nhau và giai thừa Python chương trình có thể được kết hợp trong một số bài tập xây dựng mô hình toán học.


