Viết chương trình python tìm giai thừa của một số bằng phép lặp và đệ quy

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<, " is ", fac)

đầu ra

Nhập một số. 5
giai thừa của 5 là 120

Sử dụng vòng lặp While

1

2

3

4

5

6

7

8

9

10

num = int(đầu vào("enter a number: "))

 

fac = 1

i = 1

 

while i <= num.

fac = fac * i

i = i + 1

 

in("giai thừa của ", num<, " is ", fac)

đầu ra

Nhập một số. 4
giai thừa của 4 là 24

Video hướng dẫn


Bình luận bên dưới nếu bạn có bất kỳ câu hỏi nào liên quan đến chương trình giai thừa python ở trên

Bạn cũng có thể thích

  • Chương trình đơn giản để tạo một thanh tải hình tròn bằng đồ họa
  • Sự khác biệt giữa Ngăn xếp và Hàng đợi
  • Chương trình C tính lãi kép
  • 5 mẹo cần thiết để viết dự án nghiên cứu khoa học máy tính
  • Những lỗi phát triển phần mềm linh hoạt cần tránh

Bài viết này sẽ giải thích hai cách khác nhau để tìm giai thừa của một số trong python bằng cách sử dụng vòng lặp và đệ quy for với phần giải thích và ví dụ

giai thừa là gì
Giai thừa của một số nguyên (hoặc một số tự nhiên) là tích của tất cả các số bắt đầu từ số nguyên cho đến 1. Ví dụ, giai thừa của 5 sẽ là 5 * 4 * 3 * 2 * 1 = 120
Như vậy, giai thừa của một số n sẽ là n*(n-1)*(n-2)…. * 1

Tìm giai thừa của một số trong python
Có một số cách để tìm giai thừa của một số bằng python. Bài đăng này sẽ thảo luận về cả hai cách tiếp cận này

Phương pháp 1 . Sử dụng vòng lặp
Phương pháp này tìm giai thừa của một số bằng cách lặp theo hướng ngược lại bắt đầu từ số cho đến 1 và tìm tích trong mỗi lần lặp
Thuật toán cho phương pháp này bao gồm các bước sau

  1. Khởi tạo một biến để giữ giai thừa của số là 1
  2. Lặp từ số đến 1 với khoảng thời gian là 1
  3. Trong mỗi lần lặp lại, hãy tìm tích của số và biến được khởi tạo ở bước 1 và lưu trữ nó trong cùng một biến
  4. Sau khi vòng lặp hoàn thành (khi số cuối cùng là 1), biến sẽ giữ tích của tất cả các số cho đến 1 là giai thừa của số đã cho

Chương trình giai thừa trong python được viết theo thuật toán trên được đưa ra bên dưới

# function to calculate factorial of the given number
def fact(number):
    # initialize variable to store factorial
    fact = 1
    # loop from the number till 1
    for number in range(5, 1,-1):
        # multiply current number with the product of previous numbers
        fact = fact * number
    return fact

# read number from keyboard
number = int(input("Enter a number\n"))
# find factorial
factorial = fact(number)
print("Factorial is "+str(factorial))


Giải trình
Đoạn mã trên định nghĩa một hàm để tính giai thừa của một số. Hàm khởi tạo một biến để lưu giai thừa và lặp ngược lại từ số đến 1 bằng cách sử dụng vòng lặp for và hàm range

Hàm range có 3 đối số, đầu tiên là giá trị bắt đầu sẽ là chính số đó, đối số thứ hai là số kết thúc cho đến khi bạn muốn vòng lặp thực thi

Giá trị này sẽ là 1 và đối số thứ ba là giá trị bước mà chúng tôi muốn lặp lại. Vì chúng tôi muốn đảo ngược lặp lại 1 lần mỗi lần, giá trị này sẽ là -1

Trong mỗi lần lặp lại, chúng tôi nhân giá trị hiện tại với giá trị được lưu trữ trong biến

Do đó, trong mỗi lần lặp, biến này sẽ giữ tích của một số với tất cả các số trước nó và ở cuối vòng lặp, nó sẽ có tích của tất cả các số cho đến 1

Số cần tính giai thừa là được đọc dưới dạng nhập từ bàn phím bằng cách sử dụng hàm input. Vì hàm này trả về giá trị ở định dạng chuỗi nên chúng ta cần chuyển đổi nó thành số nguyên bằng cách sử dụng hàm int .

đầu ra
Chương trình trên tạo đầu ra sau

Nhập một số
5
giai thừa là 120

Sử dụng vòng lặp while
Cũng có thể sử dụng vòng lặp while thay cho vòng lặp for trong phương pháp này với một sửa đổi nhỏ

Vòng lặp sẽ tiếp tục cho đến khi số lớn hơn bằng 1 và trong mỗi lần lặp, số sẽ giảm đi 1 trong vòng lặp như hình bên dưới

Chương trình giai thừa trong Python với đệ quy là gì?

Trong chương trình đệ quy sử dụng giai thừa, hàm giai thừa tự gọi. Ở đây, hàm sẽ tự gọi đệ quy bằng cách giảm giá trị của số . Giai thừa của 0 là 1 và không có đầu ra giai thừa cho số nguyên âm.

Làm cách nào để tìm giai thừa của một số trong Python bằng vòng lặp for?

Giai thừa của một số là tích của tất cả các số nguyên từ 1 đến số đó. Ví dụ, giai thừa của 6 là 1*2*3*4*5*6 = 720. . Giai thừa của một số bằng vòng lặp

Thuật toán tìm giai thừa của một số trong Python là gì?

Thuật toán cho chương trình giai thừa trong python . Ghi chú. Với N = 0, giai thừa là 1. N * (N-1) * (N-2) * (N-3) * … * 3 * 2 * 1. Note: For N = 0, factorial is 1.

Làm thế nào bạn sẽ tìm giai thừa bằng cách sử dụng đệ quy?

Hàm đệ quy là một hàm nonleaf gọi chính nó. Hàm giai thừa có thể được viết dưới dạng lời gọi hàm đệ quy. Nhớ lại rằng giai thừa(n) = n × (n – 1) × (n – 2) × … × 2 × 1.