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 Trong C
-
Đệ Quy Trong C - Học Lập Trình C Online - VietTuts
-
Bài 30. Đệ Quy Trong C – Hàm đệ Quy
-
Hàm đệ Quy Trong Ngôn Ngữ C
-
Hàm đệ Quy Trong C
-
Đệ Quy Trong C - Học Lập Trình Web
-
Đệ Quy Siêu Cơ Bản Cho Người Mới Bắt Đầu - CodeLearn
-
Đệ Quy Trong C++ - Techacademy
-
Đệ Quy | Đệ Quy Trong C | 64 Bài Học Lập Trình C Hay Nhất
-
Hàm đệ Quy Trong Lập Trình Và Minh Họa Với C++ - Góc Học IT
-
Đệ Quy Trong C
-
C - Bài 20: Hàm đệ Quy. - YouTube
-
Chi Tiết Về đệ Quy Trong C++ - 4 Bài Tập đệ Quy Có Lời Giải Chi Tiết
-
Đệ Quy Và Giải Thuật đệ Quy - Viblo
-
Đệ Quy Trong C++ (Recursion) - How Kteam
-
Tổng Hợp Các Bài Toán Về đệ Quy Trong C - Học 3 Giây
-
Đệ Quy Trong C
-
Tổng Hợp Một Số Bài Tập Về Đệ Quy Trong C - VietTuts - MarvelVietnam