Ví dụ, giai thừa của 6 là 1*2*3*4*5*6 = 720
. Giai thừa không được xác định cho các số âm và giai thừa của 0 là một, 0! = 1
Giai thừa của một số bằng vòng lặp
# Python program to find the factorial of a number provided by the user.
# change the value for a different result
num = 7
# To take input from the user
#num = int[input["Enter a number: "]]
factorial = 1
# check if the number is negative, positive or zero
if num < 0:
print["Sorry, factorial does not exist for negative numbers"]
elif num == 0:
print["The factorial of 0 is 1"]
else:
for i in range[1,num + 1]:
factorial = factorial*i
print["The factorial of",num,"is",factorial]
đầu ra
The factorial of 7 is 5040
Ghi chú. Để kiểm tra chương trình cho một số khác, hãy thay đổi giá trị của num
Ở đây, số có giai thừa được tìm thấy được lưu trữ trong num
và chúng tôi kiểm tra xem số đó là âm, 0 hay dương bằng cách sử dụng câu lệnh if...elif...else
. Nếu số dương, chúng ta sử dụng vòng lặp for
và hàm range[]
để tính giai thừa
Giai thừa của một số sử dụng đệ quy
# Python program to find the factorial of a number provided by the user
# using recursion
def factorial[x]:
"""This is a recursive function
to find the factorial of an integer"""
if x == 1:
return 1
else:
# recursive call to the function
return [x * factorial[x-1]]
# change the value for a different result
num = 7
# to take input from the user
# num = int[input["Enter a number: "]]
# call the factorial function
result = factorial[num]
print["The factorial of", num, "is", result]
Trong ví dụ trên,
The factorial of 7 is 50400 là một hàm đệ quy gọi chính nó. Ở đây, hàm sẽ gọi đệ quy chính nó bằng cách giảm giá trị của x
Tại đây, bạn sẽ nhận được chương trình python để tìm giai thừa của số bằng cách sử dụng vòng lặp for và while
Giai thừa của một số được tính bằng cách nhân nó với tất cả các số bên dưới nó bắt đầu từ 1
Ví dụ giai thừa của 4 là 24 [1 x 2 x 3 x 4]
Chương trình dưới đây lấy một số từ người dùng làm đầu vào và tìm giai thừa của nó
Chương trình Python để tìm giai thừa của số
Sử dụng vòng lặp
1
2
3
4
5
6
7
8
num = int[đầu vào["enter a number: "]]
fac = 1
cho i trong phạm vi[1, num + 1]:
fac = fac * i
in["giai thừa của ", num