Trong bài viết này, chúng ta sẽ học về giải pháp và phương pháp giải quyết bài toán cho trước.
Đề bài – Nhiệm vụ của chúng ta là tính giai thừa của n.
Giai thừa của một số không âm được cho bởi:
n! = n * n-1 * n-2 * n-3 * n-4 * ... * 3 * 2 * 1
Chúng ta có hai giải pháp có thể cho bài toán:
- Cách tiếp cận đệ quy (Recursive)
- Cách tiếp cận lặp (Iterative)
Cách 1 – Cách tiếp cận đệ quy
Ví dụ
def factorial(n):
# recursive solution
if (n == 1 or n == 0):
return 1
else:
return n * factorial(n - 1)
# main
num = 6
print("Factorial of", num, "is", factorial(num))
Kết quả
Factorial of 6 is 720
Tất cả biến được khai báo trong phạm vi toàn cục như hình dưới đây:

Cách 2 – Cách tiếp cận lặp
Ví dụ
def factorial(n):
# iterative solution
fact = 1
for i in range(2, n+1):
fact = fact * i
return fact
# main
num = 6
print("Factorial of", num, "is", factorial(num))
Kết quả
Factorial of 6 is 720
Tất cả biến được khai báo trong phạm vi toàn cục như hình dưới đây:

Kết luận
Trong bài viết này, chúng ta đã học về cách tính giai thừa của một số n.