Làm cách nào để tìm giai thừa của một hàm trong python?

Báo cáo vấn đề. Chúng tôi dự định sử dụng Python để trang bị kiến ​​thức cơ bản về giai thừa và tính toán giai thừa của một số

Giai thừa là gì?

Nói một cách đơn giản, nếu bạn muốn tìm giai thừa của một số nguyên dương, hãy tiếp tục nhân nó với tất cả các số nguyên dương nhỏ hơn số đó. Kết quả cuối cùng mà bạn nhận được là giai thừa của số đó. Vì vậy, nếu bạn muốn tìm giai thừa của 7, hãy nhân 7 với tất cả các số nguyên dương nhỏ hơn 7 và các số đó sẽ là 6,5,4,3,2,1. Nhân tất cả các số này với 7 và kết quả cuối cùng là giai thừa của 7

Nếu bạn đang tìm cách xây dựng kiến ​​thức chuyên môn của mình về chương trình giai thừa Python, hãy xem xét việc được chứng nhận. Khóa học miễn phí về Chương trình thừa số trong Python này cung cấp cho bạn hướng dẫn đầy đủ về chủ đề này và cả chứng chỉ hoàn thành, điều này chắc chắn sẽ làm nổi bật CV của bạn

Công thức của giai thừa

Giai thừa của một số được ký hiệu là n. là tích của tất cả các số nguyên dương nhỏ hơn hoặc bằng n.
n. = n*[n-1]*[n-2]*…. 3*2*1

10 giai thừa

Vậy 10 là bao nhiêu. ? .
10. =10*9*8*7*6*5*4*3*2*1=3628800

Thừa số của 5

Để tìm '5. ' một lần nữa, làm quá trình tương tự. Nhân 5 với tất cả các số nguyên dương nhỏ hơn 5. Những số đó sẽ là 4,3,2,1
5. =5*4*3*2*1=120

Giai thừa của 0

Vì 0 không phải là số nguyên dương nên theo quy ước, giai thừa của 0 được xác định là chính nó.
0. =1

giai thừa của một số

Tính toán đây là một vấn đề thú vị. Hãy để chúng tôi suy nghĩ về lý do tại sao phép nhân đơn giản sẽ là vấn đề đối với máy tính. Câu trả lời cho điều này nằm ở cách giải pháp được thực hiện

1. = 1
2. = 2
5. = 120
10. = 3628800
20. = 2432902008176640000
30. = 9. 332621544394418e+157

Sự gia tăng theo cấp số nhân của các giá trị cho chúng ta thấy rằng giai thừa là một hàm số mũ và thời gian để tính toán nó sẽ mất theo thời gian theo cấp số nhân

Chương trình giai thừa trong Python

Chúng ta sẽ đi qua 3 cách để tính giai thừa

  • Sử dụng một chức năng từ mô-đun toán học
  • Phương pháp lặp [Sử dụng vòng lặp for]
  • phương pháp đệ quy

Chương trình giai thừa trong Python sử dụng hàm

Đây là phương pháp đơn giản nhất có thể được sử dụng để tính giai thừa của một số. Ở đây chúng tôi có một mô-đun có tên toán học chứa một số phép toán có thể dễ dàng thực hiện bằng mô-đun

import math
num=int[input["Enter the number: "]]
print["factorial of ",num," [function]: ",end=""]
print[math.factorial[num]]

KIỂM TRA MÃ

Input – Nhập số. 4
Đầu ra – Giai thừa của 4 [hàm]. 24

Chương trình giai thừa trong python sử dụng vòng lặp for

def iter_factorial[n]:
    factorial=1
    n = input["Enter a number: "]
    factorial = 1
    if int[n] >= 1:
        for i in range [1,int[n]+1]:
            factorial = factorial * i
        return factorial
  
num=int[input["Enter the number: "]]

print["factorial of ",num," [iterative]: ",end=""]
print[iter_factorial[num]]

KIỂM TRA MÃ

Input – Nhập số. 5
Đầu ra – Giai thừa của 5 [lặp đi lặp lại]. 120

Xét chương trình lặp. Mất rất nhiều thời gian để vòng lặp while thực thi. Chương trình trên mất rất nhiều thời gian, giả sử vô hạn. Mục đích của việc tính giai thừa là để có được kết quả kịp thời;

Chương trình giai thừa trong Python sử dụng đệ quy

def recur_factorial[n]:
    """Function to return the factorial
    of a number using recursion"""
    if n == 1:
        return n
    else:
        return n*recur_factorial[n-1]

num=int[input["Enter the number: "]]

print["factorial of ",num," [recursive]: ",end=""]
print[recur_factorial[num]]

KIỂM TRA MÃ

Input – Đầu vào – Nhập số. 4
Đầu ra – Giai thừa của 5 [đệ quy]. 24

Trên máy tính RAM 16GB, chương trình trên có thể tính các giá trị giai thừa lên tới 2956. Ngoài ra, nó vượt quá bộ nhớ và do đó không thành công. Thời gian thực hiện ít hơn khi so sánh với phương pháp lặp đi lặp lại. Nhưng điều này phải trả giá bằng không gian bị chiếm dụng

Giải pháp cho vấn đề trên là gì?
Bài toán tính giai thừa có cấu trúc lặp đi lặp lại nhiều.

Để tính giai thừa [4], chúng ta tính f[3] một lần, f[2] hai lần và f[1] ba lần; . Do đó, giải pháp sẽ là tính toán giá trị một lần và lưu trữ nó trong một mảng từ đó nó có thể được truy cập vào lần tiếp theo khi được yêu cầu. Do đó, chúng tôi sử dụng lập trình động trong những trường hợp như vậy. Điều kiện để thực hiện quy hoạch động là

  1. Các vấn đề phụ chồng chéo
  2. cấu trúc con tối ưu

Xem xét việc sửa đổi đoạn mã trên như sau

def DPfact[N]:
    arr={}
    if N in arr:
        return arr[N]
    elif N == 0 or N == 1:
        return 1
        arr[N] = 1
    else:
        factorial = N*DPfact[N - 1]
        arr[N] = factorial
    return factorial
    
num=int[input["Enter the number: "]]

print["factorial of ",num," [dynamic]: ",end=""]
print[DPfact[num]]

KIỂM TRA MÃ

Input – Nhập số. 6
Đầu ra – giai thừa của 6 [động]. 720

Một giải pháp lập trình động có hiệu quả cao về thời gian và không gian phức tạp

Đếm các số 0 ở cuối trong giai thừa bằng Python

Báo cáo vấn đề. Đếm số lượng số 0 trong giai thừa của một số bằng Python

num=int[input["Enter the number: "]]
  
# Initialize result 
count = 0
# Keep dividing n by 
# powers of 5 and 
# update Count 
temp = 5
while [num / temp>= 1]:
    count += int[num / temp] 
    temp *= 5

# Driver program  
print["Number of trailing zeros", count]

Đầu ra
Nhập số. 5
Số các số 0 ở cuối 1

Tìm hiểu cách tìm xem một chuỗi có phải là Palindrome không

Tìm hiểu cách in Chuỗi Fibonacci bằng Python. Ngoài ra, hãy học trí tuệ nhân tạo trực tuyến với sự trợ giúp của Khóa học AI này

Các câu hỏi thường gặp

Giai thừa trong toán học là gì?

Giai thừa của một số, trong toán học, là tích của tất cả các số nguyên dương nhỏ hơn hoặc bằng một số dương cho trước và được ký hiệu bằng số đó cùng dấu chấm than. Do đó, giai thừa bảy được viết là 4. nghĩa là 1 × 2 × 3 × 4, bằng 24. Thừa số 0 được định nghĩa là bằng 1. Giai thừa của số thực và số âm không tồn tại

Công thức của giai thừa là gì?

Để tính giai thừa của một số N, hãy sử dụng công thức này

Giai thừa=1 x 2 x 3 x…x N-1 x N

Có chức năng giai thừa trong Python không?

Có, chúng ta có thể nhập một mô-đun trong Python được gọi là toán học chứa hầu hết các hàm toán học. Để tính giai thừa với một hàm, đây là mã

import math
num=int[input["Enter the number: "]]
print["factorial of ",num," [function]: ",end=""]
print[math.factorial[num]]

Tìm thấy blog này thú vị? . Trong khi bạn đang ở đó, hãy xem khóa học python dành cho người mới bắt đầu để tìm hiểu thêm về Python cơ bản

Công thức cho giai thừa trong Python là gì?

Để tìm giai thừa Python của một số, số đó được nhân với tất cả các số nguyên nằm giữa 1 và chính số đó. Về mặt toán học, nó được đại diện bởi “. ”. Vì vậy, ví dụ, 5. sẽ là 5 x 4 x 3 x 2 x 1, tức là 120. Giai thừa cho số âm không được xác định

Có chức năng cho giai thừa trong Python không?

Không nhiều người biết, nhưng python cung cấp một hàm trực tiếp có thể tính giai thừa của một số mà không cần viết toàn bộ mã để tính giai thừa . Phương thức này được định nghĩa trong mô-đun “toán học” của python.

Chủ Đề