Giai thừa của một số trong Python sử dụng chức năng

Bạn có thể sử dụng hàm giai thừa mô-đun toán học để tạo chương trình Giai thừa của riêng mình trong Python bằng cách sử dụng hàm. Để tạo hàm giai thừa của riêng bạn, bạn phải sử dụng vòng lặp for

giai thừa của 5 là

5!=5*4*3*2*1=120

giai thừa của n là

n!=n*(n-1)*....2*1

Ghi chú. Giai thừa không được xác định cho các số âm và Giai thừa của không (0) là. 1

Ví dụ về chương trình giai thừa trong Python sử dụng hàm

Mã ví dụ đơn giản tìm giai thừa của một số do người dùng cung cấp

def find_factorial(n):
    f = 1
    for i in range(1, n + 1):
        f = f * i
    return f


x = int(input("Enter a number: "))

result = find_factorial(x)

print("Factorial is:", result)

đầu ra

Giai thừa của một số trong Python sử dụng chức năng

Sử dụng chức năng tích hợp giai thừa () bằng cách nhập mô-đun toán học

import math

x = 5

res = math.factorial(x)
print(res)

đầu ra. 120

Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về mã giai thừa Python này

Ghi chú. IDE. PyCharm 2021. 3. 3 (Phiên bản cộng đồng)

cửa sổ 10

Trăn 3. 10. 1

Tất cả các Ví dụ về Python đều nằm trong Python 3, vì vậy có thể nó khác với python 2 hoặc các phiên bản nâng cấp

Giai thừa của một số trong Python sử dụng chức năng

Rohit

Bằng cấp về Khoa học Máy tính và Kỹ sư. Nhà phát triển ứng dụng và có kinh nghiệm về nhiều ngôn ngữ lập trình. Đam mê công nghệ & thích học hỏi kỹ thuật

Giai thừa của một số nguyên không âm, là phép nhân của tất cả các số nguyên nhỏ hơn hoặc bằng chính nó. Nó được biểu thị bằng ký hiệu ". ". Nó thường được sử dụng trong lập trình trong khi giải quyết vấn đề và là công cụ bắt buộc phải có trong bộ công cụ lập trình của chúng tôi

Phạm vi

  • Trong bài viết này, chúng ta sẽ tìm hiểu giai thừa của một số
  • Chúng tôi sẽ hiểu các thuật toán khác nhau để tìm giai thừa cùng với mã

Giới thiệu về chương trình giai thừa Python

Tất cả chúng ta chắc hẳn đã nghe hoặc đọc về từ 'Giai thừa' của một số trong trường học của chúng ta và có thể đã tự hỏi ý nghĩa của nó

Hãy để chúng tôi hiểu nó với sự giúp đỡ của một hoạt động. Trong hình bên dưới, chúng ta có ba chiếc cốc có màu khác nhau. Hãy để chúng tôi sắp xếp chúng theo cách khác nhau và xem có bao nhiêu cách có thể chúng tôi có thể sắp xếp chúng

Giai thừa của một số trong Python sử dụng chức năng

Ta thấy rằng có tổng cộng 6 cách sắp xếp ba chiếc cốc đã cho một cách khác nhau. Giờ đây, thực hiện một quá trình dài như vậy để ghi lại tất cả các cách sắp xếp có thể thật tẻ nhạt và tốn thời gian

Đối với điều này, chúng ta có thể quan sát thấy rằng cốc đầu tiên có thể được đặt ở bất kỳ vị trí nào trong ba vị trí, sau đó trong số hai vị trí còn lại, chúng ta có thể đặt cốc thứ hai vào bất kỳ vị trí nào trong hai vị trí và đối với cốc cuối cùng, chúng ta chỉ cần có

Sơ đồ dưới đây giải thích cách chúng ta có thể tìm thấy số cách sắp xếp bằng cách sử dụng logic này

Giai thừa của một số trong Python sử dụng chức năng

Nó được gọi là 'Giai thừa', tôi. e. , tích của tất cả các số từ 1 đến số đã cho. Vì vậy, nếu số đó là 7, giai thừa của 7 sẽ được tính là tích của tất cả các số từ 1 đến 7

Bây giờ chúng ta hãy xem chính xác từ 'Factorial' nghĩa là gì

Giai thừa là gì?

Giai thừa là tích của tất cả các số nhỏ hơn hoặc bằng số đã cho cho đến 1. Ví dụ, giai thừa của 7 sẽ là 7\*6\*5\*4\*3\*2\*1, là 5040

Giai thừa của một số được biểu thị bằng dấu chấm than (. ) Trong toán học. Ví dụ, giai thừa của 7 được ký hiệu là 7. , tương tự giai thừa của bất kỳ số N nào được ký hiệu là N

Giai thừa của một số trong Python sử dụng chức năng

Thuật toán cho chương trình giai thừa trong python

Với mọi số N lớn hơn 0, ta có thể viết

N. = N * (N-1) * (N-2) * (N-3) * … * 3 * 2 * 1

Ghi chú

Với N = 0, giai thừa là 1. Với N < 0, tôi. e. đối với số âm, giai thừa không tồn tại

Ví dụ -

Giai thừa của 7
7. = 7 * 6 * 5 * 4 * 3 * 2 * 1 Giai thừa của 7 là 5040.

Giai thừa của 10
10. = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 Giai thừa của 10 là 3628800.

Giai thừa của 5
5. = 5 * 4 * 3 * 2 * 1 Giai thừa của 5 là 120.

Giai thừa của 0
Giai thừa của 0 không thể được tính theo công thức đã cho ở trên vì đó là số dương. Vì vậy, giai thừa của 0 là 1 i. e. 0. = 1.

Chương trình Python để tìm giai thừa của một số

Có hai cách để thực hiện chương trình giai thừa trong python, tôi. e. , sử dụng vòng lặp và đệ quy. Đầu tiên chúng ta sẽ xem mã với đệ quy và sau đó sử dụng một vòng lặp

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

Trong tập chương trình sau, chúng ta sẽ sử dụng đệ quy để tìm giai thừa của một số. Bây giờ đệ quy là một quá trình trong đó một hàm gọi chính nó cho các giá trị đầu vào nhỏ hơn hoặc đơn giản hơn

Ví dụ, khi tính giai thừa của **4**, ta viết. **4. = 4 * 3 * 2 * 1**. Nếu quan sát kỹ, chúng ta sẽ thấy rằng **3 * 2 * 1** là giai thừa của **3**. Do đó **4. ** Có thể được viết là, **4. = 4 * 3. **

Do đó, để tổng quát hóa phương trình này, chúng ta có thể viết **N. = N * (N-1). **, với **N > 0**, tôi. e. với mọi giá trị dương

Với N = 0, chúng ta đã biết rằng 0. = 1, điều kiện này sẽ là trường hợp cơ bản trong mã đệ quy của chúng tôi. Chúng ta cũng có thể thấy rằng trong đệ quy, chúng ta sẽ gọi **(N-1)** giai thừa và giả sử rằng câu trả lời là đúng, chúng ta sẽ tính toán câu trả lời cho N giai thừa

Bây giờ, **(N-1)** giai thừa sẽ gọi **(N-2)** giai thừa để nhận câu trả lời và điều này sẽ tiếp tục cho đến khi chúng tôi đạt được **0** i. e. trường hợp cơ sở của chúng tôi. Cuối cùng, sử dụng câu trả lời được tìm thấy ở mỗi bước, chúng tôi sẽ tính toán câu trả lời cuối cùng của mình, tôi. e. , **giai thừa của N**

Do đó để tóm tắt

Đối với **N < 0**, giai thừa không tồn tại Đối với **N = 0**, giai thừa(0) = 1 Đối với **N > 0**, giai thừa(N) = N * giai thừa(N-1)

def fact(n):
    if n < 0:
        return 'Factorial does not exist'
    elif n == 0:
        return 1
    else:
        return n * fact(n-1)
 
num = int(input())
print(fact(num))

Đầu vào

đầu ra

Giải trình -

Ở đây, chúng tôi muốn tìm giai thừa của 4 và chúng tôi thấy hàm có tên 'fact' tự gọi đệ quy cho đến khi chúng tôi đạt 0. Và vì chúng ta đã biết giai thừa của 0. Chúng tôi sẽ sử dụng giá trị này để tính giai thừa của 1, 2, v.v. cho đến 4

Chúng ta có thể hiểu hoạt động tốt hơn với sơ đồ được đưa ra dưới đây

Giai thừa của một số trong Python sử dụng chức năng

2. Đầu vào

đầu ra

Giải thích- Vì giá trị của số là âm (i. e. N < 0)

3. Đầu vào

đầu ra

**Giải trình. **

Vì giá trị của số là 0, điều khiển chuyển đến câu lệnh elif và 1 được trả về ngay lập tức mà không thực hiện bất kỳ lời gọi đệ quy nào

Sử dụng Vòng lặp For trong Chương trình Thừa số Python

Trong bộ chương trình sau, chúng ta sẽ xem cách tính giai thừa của một số bằng cách sử dụng vòng lặp for trong Python. Chúng tôi sẽ chạy vòng lặp từ 1 đến số đã cho. Tại mỗi bước, giá trị của biến điều khiển vòng lặp (i. e. , i) được nhân với biến fact, biến này lưu trữ giá trị của giai thừa của một số đã cho

Đối với các số không âm

num = int(input())
fact = 1
for i in range(1, num+1):
    fact = fact * i
print (fact)

1. Đầu vào

đầu ra

Giải trình -

Vòng lặp chạy từ 1 đến num i. e. 7, và mỗi khi 'i' được nhân lên với biến 'fact'. Vì vậy, các giá trị tương ứng của 'i' và 'fact' ở mỗi lần lặp là i = 1, fact = 1 i = 2, fact = 2 i = 3, fact = 6 i = 4, fact = 24 i = 5, fact =

Sử dụng Câu lệnh if-else trong Chương trình thừa số Python (Đối với cả số nguyên không âm)

Trong các chương trình sau, chúng ta sẽ thêm câu lệnh if-else để xử lý các trường hợp giá trị của số đã cho là số âm. Ngoài ra, logic để tính giai thừa sẽ giống như được sử dụng ở trên trong trường hợp vòng lặp for

num = int(input())
if num < 0:
    print ('Factorial does not exist')
elif num == 0:
    print(1)
else:
    fact = 1
    for i in range (1, num + 1):
        fact = fact * i
    print(fact)

1. Đầu vào

đầu ra

2. Đầu vào

đầu ra

Giải trình-

Điều khiển chuyển đến câu lệnh elif và 1 được in ra có giá trị bằng 0

3. Đầu vào

đầu ra

Sử dụng mô-đun toán học trong chương trình giai thừa Python

Trong chương trình sau, chúng ta sẽ sử dụng hàm giai thừa (), có trong mô-đun Math trong python để tính giai thừa của một số đã cho

Hàm này chỉ nhận giá trị nguyên dương, không nhận giá trị âm. Ngoài ra, phương thức này chấp nhận các giá trị nguyên không hoạt động với các giá trị float. Nếu giá trị là số âm, float, chuỗi hoặc bất kỳ loại dữ liệu nào không phải là số nguyên, nó sẽ đưa ra “Lỗi Giá trị”

import math
num = int(input())
print(math.factorial(num))

1. Đầu vào

đầu ra

2. Đầu vào

đầu ra

________số 8

3. Đầu vào

đầu ra

ValueError: invalid literal for int() with base 10: 'Ram'

Sử dụng toán tử bậc ba trong chương trình thừa số Python

Trong các chương trình sau, chúng ta sẽ sử dụng cùng một mã đệ quy mà chúng ta đã thấy ở trên, điểm khác biệt là thay vì câu lệnh điều kiện if-else, chúng ta sẽ sử dụng toán tử bậc ba, đây cũng là một loại câu lệnh điều kiện

Trong một tuyên bố ternary, định dạng giống như

[on_true] nếu [biểu thức] khác [on_false]

Đầu tiên, chúng ta viết công việc cần hoàn thành khi biểu thức là đúng, sau đó chúng ta viết công việc cần hoàn thành trong trường hợp khác, i. e. , khi biểu thức đầu tiên là sai

Trong đoạn mã dưới đây, chúng ta có thể thấy rằng nếu giá trị của 'num' là 0 hoặc 1, thì biểu thức đầu tiên trở thành true và giá trị 1 được trả về. Nếu giá trị của num lớn hơn 1, thì một lệnh gọi đệ quy tương tự được thực hiện, như chúng ta đã thấy và hiểu ở trên

Các cuộc gọi đệ quy được thực hiện cho đến khi chúng tôi đạt được một giá trị có giá trị giai thừa đã biết, i. e. , 0 hoặc 1, từ đó các giá trị được tính toán. Sau đó, giá trị giai thừa cuối cùng của số được trả về

Làm cách nào để tìm giai thừa của một số trong Python bằng hàm def?

Chương trình Python tìm giai thừa của một số .
sự thật chắc chắn (n). nếu n < 0. return 'Giai thừa không tồn tại' elif n == 0. trả lại 1 cái khác. trả về n * fact(n-1) num = int(input()) print(fact(num))
Giai thừa không tồn tại

Hàm 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 trong khoảng từ 1 đến 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ó một chức năng cho giai thừa?

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

Làm cách nào để tìm giai thừa của một số trong Python mà không cần sử dụng hàm?

Chương trình Python tìm giai thừa của một số mà không cần đệ quy .
Lấy một số từ người dùng
Khởi tạo biến giai thừa thành 1
Sử dụng vòng lặp while để nhân một số với biến giai thừa và sau đó giảm số đó
Tiếp tục điều này cho đến khi giá trị của số lớn hơn 0