Chuỗi giai thừa trong python là gì?

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

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 thứ nhất 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 ở 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

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

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

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

thừa số 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

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

Cho 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

ValueError: factorial[] not defined for negative values
    print[math.factorial[num]]
Line 3 in  [Solution.py]

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 trong Python, đâ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 là như thế này

[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ề

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.

Đệ quy giai thừa trong Python là gì?

Đệ quy thừa số là phương pháp trong đó một hàm trực tiếp hoặc gián tiếp gọi chính nó . Trong toán học, Giai thừa có nghĩa là tích của tất cả các số nguyên dương từ 1 đến số đó. Dấu chấm than được sử dụng sau số nguyên để chỉ ra rằng đó là giai thừa. Ví dụ, giai thừa tám là 8.

Chủ Đề