khoahoc.vietjack.com
Xin chào! Vào học

Câu hỏi:

03/07/2023 2,271 Lưu

Bài toán tháp Hà Nội.

Bài toán Tháp Hà Nội được được trình bày dưới dạng trò chơi như sau: Có ba cọc A, B, C. Trên cọc A có một chồng đĩa gồm n cái đĩa, đường kính giảm dần từ dưới lên trên. Cần phải chuyển chồng đĩa từ cọc A sang cọc C tuân thủ quy tắc:

1. Mỗi lần chỉ chuyển một đĩa ở trên cùng của một cọc

2. Chỉ được xếp đĩa có đường kính nhỏ hơn lên trên đĩa có đường kình lớn hơn. Trong quá trình chuyển được phép dùng cột B làm cọc trung gian.

Bài toán đặt ra là: Tìm cách chơi và đưa ra từng bước di chuyển đĩa thoả mãn yêu cầu.

Quảng cáo

Trả lời:

verified Giải bởi Vietjack

Các Hình 1,2,3 lần lượt minh hoạ các bước di chuyển đĩa cần thực hiện khi số đĩa n = 1,2,3.

Với n = 1: Ta chỉ cần duy nhất một bước di chuyển đĩa từ cọc A sang cọc C.

Bài toán tháp Hà Nội. Bài toán Tháp Hà Nội được được trình bày dưới dạng trò chơi như sau: Có ba cọc A, B, C. Trên cọc A có một chồng đĩa gồm n cái đĩa, đường kính giảm dần từ dưới lên trên. Cần phải chuyển chồng đĩa từ cọc A sang cọc C tuân thủ quy tắc: 1. Mỗi lần chỉ chuyển một đĩa ở trên cùng của một cọc 2. Chỉ được xếp đĩa có đường kính nhỏ hơn lên trên đĩa có đường kình lớn hơn. Trong quá trình chuyển được phép dùng cột B làm cọc trung gian. Bài toán đặt ra là: Tìm cách chơi và đưa ra từng bước di chuyển đĩa thoả mãn yêu cầu. (ảnh 1)

Với n = 2: Ta cần 3 bước di chuyển đĩa.

Bài toán tháp Hà Nội. Bài toán Tháp Hà Nội được được trình bày dưới dạng trò chơi như sau: Có ba cọc A, B, C. Trên cọc A có một chồng đĩa gồm n cái đĩa, đường kính giảm dần từ dưới lên trên. Cần phải chuyển chồng đĩa từ cọc A sang cọc C tuân thủ quy tắc: 1. Mỗi lần chỉ chuyển một đĩa ở trên cùng của một cọc 2. Chỉ được xếp đĩa có đường kính nhỏ hơn lên trên đĩa có đường kình lớn hơn. Trong quá trình chuyển được phép dùng cột B làm cọc trung gian. Bài toán đặt ra là: Tìm cách chơi và đưa ra từng bước di chuyển đĩa thoả mãn yêu cầu. (ảnh 2)

 

Bài toán tháp Hà Nội. Bài toán Tháp Hà Nội được được trình bày dưới dạng trò chơi như sau: Có ba cọc A, B, C. Trên cọc A có một chồng đĩa gồm n cái đĩa, đường kính giảm dần từ dưới lên trên. Cần phải chuyển chồng đĩa từ cọc A sang cọc C tuân thủ quy tắc: 1. Mỗi lần chỉ chuyển một đĩa ở trên cùng của một cọc 2. Chỉ được xếp đĩa có đường kính nhỏ hơn lên trên đĩa có đường kình lớn hơn. Trong quá trình chuyển được phép dùng cột B làm cọc trung gian. Bài toán đặt ra là: Tìm cách chơi và đưa ra từng bước di chuyển đĩa thoả mãn yêu cầu. (ảnh 3)

Với n = 3: Ta cần 7 bước di chuyển đĩa

 

Bài toán tháp Hà Nội. Bài toán Tháp Hà Nội được được trình bày dưới dạng trò chơi như sau: Có ba cọc A, B, C. Trên cọc A có một chồng đĩa gồm n cái đĩa, đường kính giảm dần từ dưới lên trên. Cần phải chuyển chồng đĩa từ cọc A sang cọc C tuân thủ quy tắc: 1. Mỗi lần chỉ chuyển một đĩa ở trên cùng của một cọc 2. Chỉ được xếp đĩa có đường kính nhỏ hơn lên trên đĩa có đường kình lớn hơn. Trong quá trình chuyển được phép dùng cột B làm cọc trung gian. Bài toán đặt ra là: Tìm cách chơi và đưa ra từng bước di chuyển đĩa thoả mãn yêu cầu. (ảnh 4)

a) Trong quá trình di chuyển đĩa gồm 7 bước với n=3, nhận thấy bài toán Tháp Hà Nội cho trường hợp n=2 được giải hai lần: lần giải đầu tiên bởi ba bước 1, 2, 3 và lần giải thứ hai bởi ba bước 5, 6, 7. Sau ba bước 1, 2, 3 hai đĩa trên cùng của cọc A được chuyển sang cọc B. Do đó, ở lần giải đầu tiên này, cọc A được gọi là cọc xuất phát, cọc B được gọi là cọc đích. Em hãy nêu tên cọc xuất phát và cọc đích ở lần giải thứ hai tương ứng với ba bước 5, 6, 7.

b) Với n = 4, giả sử đã chuyển được ba đĩa trên cùng của cọc A sang cọc B. Em hãy thực hiện tiếp các bước để cả 4 đĩa đều ở cọc C và cho biết khi giải bài toán Tháp Hà Nội với n = 4 ta cần giải bao nhiêu lần bài toán này với n = 3.

c) Xây dựng thuật toán đệ quy giải quyết bài toán Tháp Hà Nội với n đĩa và cài đặt thuật toán đề xuất bằng một hàm đệ quy.

d) Viết chương trình yêu cầu người dùng nhập vào số lượng đĩa n và gọi hàm đệ quy đã xây dựng được, để hướng dẫn người chơi các bước di chuyển đĩa. Sau đó, em hãy chạy thử chương trình với các giá trị n lần lượt là 3, 4, 5 để kiểm thử chương trình.

Đang tải chế độ Học...

Dành cho bạn Hot

Lớp 11 Vật lý
197 người thi tuần này

Trắc nghiệm Mô tả sóng lớp 11 (có đáp án)

10 câu 6.3 K lượt thi Thi ngay →
Lớp 11 Hóa học
348 người thi tuần này

Trắc nghiệm Khái niệm về cân bằng hoá học lớp 11 (có đáp án - phần 1)

15 câu 10.2 K lượt thi Thi ngay →
Lớp 11 Tiếng Anh
142 người thi tuần này

Đề cương ôn tập giữa kì 1 Tiếng Anh 11 Global Success có đáp án

50 câu 1.2 K lượt thi Thi ngay →
Lớp 11 Sinh học
154 người thi tuần này

15 câu Trắc nghiệm Sinh học 11 Kết nối tri thức Bài 8 có đáp án

15 câu 3.2 K lượt thi Thi ngay →
Lớp 11 Lịch sử
1,460 người thi tuần này

25 câu Trắc nghiệm Lịch Sử 11 Kết nối tri thức Bài 1 có đáp án

25 câu 20.4 K lượt thi Thi ngay →
Lớp 11 Tin học
849 người thi tuần này

15 câu Trắc nghiệm Tin học 11 Kết nối tri thức Bài 1 có đáp án

15 câu 9.8 K lượt thi Thi ngay →
Lớp 11 Giáo dục Kinh tế và Pháp luật
166 người thi tuần này

16 câu Trắc nghiệm Kinh tế pháp luật 11 Kết nối tri thức Bài 2 có đáp án

16 câu 3.9 K lượt thi Thi ngay →

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

a) Hình 4 và 5 minh hoạ cách di chuyển đĩa với n = 1 và n = 2 tương ứng. 

b) Khi giải bài toán với n = 3 thì phải giải bài toán với n nhỏ hơn nào, nêu tên cọc xuất phát và cọc đích ở từng lần giải đó.

c) Chạy hàm này với n lần lượt là 3, 4, 5 và kiểm tra kết quả thu được.