Trong bài viết này, chúng ta sẽ tìm hiểu cách giải bài toán Tháp Hà Nội bằng phương pháp đệ quy trong ngôn ngữ lập trình C/C++. Bài toán này là một trò chơi toán học thú vị và có nhiều ứng dụng trong lĩnh vực khoa học máy tính.
Bài toán Tháp Hà Nội
Bài toán Tháp Hà Nội gồm 3 cột và một số đĩa có kích thước khác nhau. Mục tiêu của trò chơi là di chuyển tất cả các đĩa từ cột ban đầu sang cột đích, tuân thủ các quy tắc sau:
Bạn đang xem: Giải bài toán Tháp Hà Nội (Tower of Hanoi) sử dụng đệ quy trong C/C++
- Chỉ được di chuyển một đĩa một lần.
- Một đĩa chỉ có thể được đặt lên một đĩa lớn hơn.
READ MORE:
Qui tắc giải bài toán Tháp Hà Nội
Xem thêm : Tại sao đo nội trở pin lại quan trọng?
Cách giải bài toán Tháp Hà Nội bằng phương pháp đệ quy như sau:
- Đặt một cột làm cột trung gian.
- Di chuyển n-1 đĩa từ cột ban đầu sang cột trung gian.
- Di chuyển đĩa lớn nhất sang cột đích.
- Di chuyển n-1 đĩa từ cột trung gian sang cột đích.
Với việc áp dụng phương pháp đệ quy, chúng ta có thể giải bài toán Tháp Hà Nội với bất kỳ số lượng đĩa nào.
Mã nguồn C/C++
Xem thêm : 55+ Hình Ảnh Học Bài Chăm Chỉ Đẹp, Để Có Thêm Động Lực
Dưới đây là mã nguồn C/C++ để giải bài toán Tháp Hà Nội:
#include
void towerOfHanoi(int n, char fromRod, char toRod, char auxRod) {
if (n == 1) {
printf("Di chuyển đĩa 1 từ cột %c sang cột %cn", fromRod, toRod);
return;
}
towerOfHanoi(n - 1, fromRod, auxRod, toRod);
printf("Di chuyển đĩa %d từ cột %c sang cột %cn", n, fromRod, toRod);
towerOfHanoi(n - 1, auxRod, toRod, fromRod);
}
int main() {
int n = 3; // Số lượng đĩa
towerOfHanoi(n, 'A', 'C', 'B'); // Gọi hàm giải bài toán
return 0;
}
READ MORE:
Kết luận
Bài toán Tháp Hà Nội là một bài toán thú vị trong lĩnh vực toán học và có ứng dụng rộng rãi trong khoa học máy tính. Phương pháp giải bài toán bằng đệ quy giúp chúng ta tiếp cận với vấn đề một cách hiệu quả và tinh gọn. Hy vọng bài viết này đã giúp bạn hiểu thêm về cách giải bài toán Tháp Hà Nội sử dụng đệ quy trong C/C++.
Nguồn: https://ispacedanang.edu.vn
Danh mục: Học tập