Chi Tiết Bài Học Đệ Quy Trong C++ - Vimentor
Có thể bạn quan tâm
Trong bài này, bạn sẽ học cách tạo một hàm đệ quy; một hàm gọi tới chính nó.

Một hàm gọi chính nó được coi là hàm đệ quy. Và kỹ thuật này được gọi là đệ quy.
Đệ quy hoạt động như thế nào trong C++? void recurse() { ... .. ... recurse(); ... .. ... } int main() { ... .. ... recurse(); ... .. ... }Hình vẽ dưới đây thể hiện cách đệ quy hoạt động bằng cách liên tục gọi tới chính nó.

Đệ quy tiếp tục cho tới khi một vài điều kiện xảy ra.
Để ngăn ngừa việc đệ quy vĩnh viễn, câu lệnh if…else (hoặc cách tương tự) có thể được sử dụng với một nhánh gọi đệ quy và nhánh còn lại thì không.
Ví dụ 1: Tính giai thừa của một số sử dụng đệ quy // Giai thừa của n = 1*2*3*...*n #include <iostream> using namespace std; int factorial(int); int main() { int n; cout<<"Enter a number to find factorial: "; cin >> n; cout << "Factorial of " << n <<" = " << factorial(n); return 0; } int factorial(int n) { if (n > 1) { return n*factorial(n-1); } else { return 1; } }Đầu ra
| Enter a number to find factorial: 4 Factorial of 4 = 24 |

Giả sử người dùng nhập vào 4, số này được truyền vào hàm factorial().
- Trong hàm factorial() đầu tiên, biểu thức kiểm tra bên trong câu lệnh if là đúng. Câu lệnh return num*factorial(num-1); sẽ được thực thi. Nó sẽ gọi tới hàm factorial() thứ hai và truyền vào đối số num-1, tức là 3.
- Trong hàm factorial() thứ hai, biểu thức kiểm tra bên trong câu lệnh if là đúng. Câu lệnh return num*factorial(num-1); được thực thi. Nó sẽ gọi tới hàm factorial() thứ ba và truyền vào đối số num-1, tức là 2.
- Trong hàm factorial() thứ ba, biểu thức kiểm tra bên trong câu lệnh if là đúng. Câu lệnh return num*factorial(num-1); được thực thi. Nó sẽ gọi tới hàm factorial() thứ tư và truyền vào đối số num-1, tức là 1.
- Trong hàm factorial() thứ tư, biểu thức kiểm tra bên trong câu lệnh if là sai. Câu lệnh return 1; được thực thi, và sẽ trả về 1 cho hàm factorial() thứ 3.
- Hàm factorial() thứ 3 sẽ trả về 2 cho hàm factorial() thứ 2.
- Hàm factorial() thứ 2 sẽ trả về 6 cho hàm factorial() đầu tiên.
- Cuối cùng, hàm factorial() đầu tiên trả về 24 cho hàm main(), và được hiển thị trên màn hình.
Từ khóa » đệ Quy Chuỗi Trong C
-
Bài 36. Đảo Ngược Chuỗi Trong C Sử Dụng đệ Quy
-
Đảo Ngược Chuỗi Sử Dụng đệ Quy Trong C++
-
Hàm đệ Quy Trong C
-
Đệ Quy Trong C - Học Lập Trình C Online - VietTuts
-
Top 15 đệ Quy Chuỗi Trong C
-
Đảo Ngược Chuỗi Sử Dụng đệ Quy Trong C++
-
Hàm đệ Quy Trong Lập Trình Và Minh Họa Với C++ - Góc Học IT
-
Chi Tiết Về đệ Quy Trong C++ - 4 Bài Tập đệ Quy Có Lời Giải Chi Tiết
-
Đệ Quy Trong C++ - Techacademy
-
Đảo Ngược Chuỗi Sử Dụng đệ Quy Trong C++ - Bài Tập C++ Có Lời Giải
-
Đệ Quy Trong C++ (Recursion) - How Kteam
-
Đệ Quy Trong C - Học Lập Trình Web
-
Viết Hàm đệ Quy để đảo Ngược Một Xâu Trong C? [Archive]
-
Bài 36. In Chuỗi đảo Ngược Sử Dụng đệ Quy - YouTube
-
Palindrome Sử Dụng đệ Quy - TutorialCup
-
ính Giai Thừa Sử Dụng đệ Quy Trong C++ - Bài Tập C++ Có Lời Giải
-
Cách Khai Báo Chuỗi Trong C Và Các Kiến Thức Liên Quan - Ironhack
-
Tổng Hợp Bài Tập C Cơ Bản Phần 2
-
Bài 1.7: Viết Chương Trình Có Sử Dụng Hàm đệ Quy để đảo Ngược 1 ...