Viết một chương trình tính giai thừa của một số nguyên dương n. Với n được nhập từ bàn phím
448
19/10/2023
Câu 49: Viết một chương trình tính giai thừa của một số nguyên dương n. Với n được nhập từ bàn phím.
Định nghĩa giai thừa: giai thừa của 1 số là tích các số liên tiếp từ 1 đến số đó. Trường hợp đặc biệt, giai thừa của 0 và 1 là 1.
Ví dụ, n = 8 thì kết quả đầu ra phải là 1*2*3*4*5*6*7*8 = 40320.
Có 2 cách để viết chương trình tính giai thừa trong python:
· Tính giai thừa không sử dụng hàm đệ quy
· Tính giai thừa có sử dụng hàm đệ quy
Trả lời
1. Tính giai thừa không sử dụng đệ quy
Ví dụ chương trình tính giai thừa trong python không sử dụng phương pháp đệ quy:
Code mẫu: tính giai thừa không sử dụng hàm đệ quy
* tinh giai thua
*
* @author viettuts.vn
* @param n: so nguyen duong
* @return giai thua cua so n
"""
def tinhgiaithua(n):
giai_thua = 1;
if (n == 0 or n == 1):
return giai_thua;
else:
for i in range(2, n + 1):
giai_thua = giai_thua * i;
return giai_thua;
n = int(input("Nhập số nguyên dương n = "));
print("Giai thừa của", n, "là", tinhgiaithua(n));
2. Tính giai thừa có sử dụng đệ quy
Ví dụ chương trình tính giai thừa trong python có sử dụng phương pháp đệ quy:
Code mẫu: tính giai thừa sử dụng hàm đệ quy
n = int(input("Nhập số cần tính giai thừa: "))
def giaiThua(n):
if n == 0:
return 1
return n * giaiThua(n - 1)
print (giaiThua(n))