Nấp của một số là sản phẩm của tất cả các số nguyên từ 1 đến số đó. Show Ví dụ, giai thừa của 6 là Mã nguồn
Đầu ra The factorial of 7 is 5040 Lưu ý: Để tìm giai thừa của một số khác, hãy thay đổi giá trị của Ở đây, số lượng được lưu trữ trong The factorial of 7 is 50400 để tính toán giai thừa của số. Trong hướng dẫn này, bạn sẽ học cách tạo một hàm đệ quy (một hàm tự gọi). Đệ quy là gì?Đệ quy là quá trình xác định một cái gì đó theo chính nó. Một ví dụ thế giới vật lý sẽ là đặt hai gương song song đối diện nhau. Bất kỳ đối tượng ở giữa chúng sẽ được phản ánh đệ quy. Chức năng đệ quy PythonTrong Python, chúng ta biết rằng một hàm có thể gọi các chức năng khác. Thậm chí có thể cho chức năng gọi chính nó. Các loại cấu trúc này được gọi là các hàm đệ quy. Hình ảnh sau đây cho thấy hoạt động của một hàm đệ quy gọi là The factorial of 7 is 50401.Chức năng đệ quy trong Python Sau đây là một ví dụ về hàm đệ quy để tìm giai thừa của một số nguyên. Factorial của một số là sản phẩm của tất cả các số nguyên từ 1 đến số đó. Ví dụ: giai thừa của 6 (ký hiệu là 6!) Là 1*2*3*4*5*6 = 720. Ví dụ về hàm đệ quy
Đầu ra The factorial of 3 is 6 Trong ví dụ trên, The factorial of 7 is 50402 là một hàm đệ quy như nó tự gọi. Khi chúng ta gọi hàm này với số nguyên dương, nó sẽ tự gọi mình bằng cách giảm số. Mỗi hàm nhân số số với giai thừa của số bên dưới nó cho đến khi nó bằng một. Cuộc gọi đệ quy này có thể được giải thích trong các bước sau. factorial(3) # 1st call with 3 3 * factorial(2) # 2nd call with 2 3 * 2 * factorial(1) # 3rd call with 1 3 * 2 * 1 # return from 3rd call as number=1 3 * 2 # return from 2nd call 6 # return from 1st call Chúng ta hãy xem một hình ảnh hiển thị một quá trình từng bước về những gì đang diễn ra: Làm việc của một chức năng giai thừa đệ quyĐệ quy của chúng tôi kết thúc khi số lượng giảm xuống 1. cái này được gọi là điều kiện cơ sở. Mỗi chức năng đệ quy phải có một điều kiện cơ sở dừng đệ quy hoặc nếu không thì hàm tự gọi chính nó. Thông dịch viên Python giới hạn độ sâu của đệ quy để giúp tránh các đệ quy vô hạn, dẫn đến tràn chồng. Theo mặc định, độ sâu tối đa của đệ quy là 1000. Nếu giới hạn được vượt qua, nó sẽ dẫn đến The factorial of 7 is 50403. Hãy nhìn vào một điều kiện như vậy.
Đầu ra Traceback (most recent call last): File "<string>", line 3, in <module> File "<string>", line 2, in a File "<string>", line 2, in a File "<string>", line 2, in a [Previous line repeated 996 more times] RecursionError: maximum recursion depth exceeded Ưu điểm của đệ quy
Nhược điểm của đệ quy
Hàm đệ quy trong Python là gì?Python cũng chấp nhận đệ quy chức năng, có nghĩa là một hàm được xác định có thể tự gọi. Recursion là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng tự gọi. Điều này có lợi ích của ý nghĩa mà bạn có thể lặp qua dữ liệu để đạt được kết quả.a defined function can call itself. Recursion is a common mathematical and programming concept. It means that a function calls itself. This has the benefit of meaning that you can loop through data to reach a result.
Ý bạn là gì khi đệ quy Viết một hàm đệ quy để tìm giai thừa của một số?Chức năng giai thừa có thể được viết như một cuộc gọi chức năng đệ quy.Hãy nhớ lại rằng Factorial (n) = N × (n - 1) × (n - 2) × × × 2 × 1. Hàm factorial có thể được viết lại đệ quy dưới dạng giai thừa (n) = n × factorial (n - 1).factorial(n) = n × (n – 1) × (n – 2) × … × 2 × 1. The factorial function can be rewritten recursively as factorial(n) = n × factorial(n – 1).
Làm thế nào để bạn viết một giai thừa đệ quy trong Python?Chương trình Python để tìm giai thừa số bằng cách sử dụng đệ quy.. def recur_factorial (n):. Nếu n == 1:. trả lại n .. trả về n*recur_factorial (n-1). # Lấy đầu vào từ người dùng .. num = int (input ("nhập một số:")). # Kiểm tra số là số âm .. Đệ quy và ví dụ là gì?Đệ quy là quá trình xác định một vấn đề (hoặc giải pháp cho một vấn đề) về mặt (phiên bản đơn giản hơn của) chính nó.Ví dụ: chúng ta có thể xác định hoạt động "Tìm đường về nhà" như: Nếu bạn đang ở nhà, hãy ngừng di chuyển.Thực hiện một bước về nhà."Tìm đường về nhà của bạn".the process of defining a problem (or the solution to a problem) in terms of (a simpler version of) itself. For example, we can define the operation "find your way home" as: If you are at home, stop moving. Take one step toward home. "find your way home". |