00+ Mọi người

Tháp Hà Nội

Hôm nay bạn đã chơi phút. Chơi quá 180 phút một ngày sẽ ảnh hưởng xấu đến sức khỏe.
Tháp Hà Nội

Tháp Hà Nội - Trò chơi với lối chơi cổ điển vô cùng quen thuộc trên GameVui. Tháp Hà Nội là một bài toán thường được dùng để dạy về lập trình cơ bản, về quy luật cách chơi thì sẽ có 3 cái cọc, trên đó có 1 số đĩa nhất định, nhiệm vụ của người chơi là phải xếp được toàn bộ số đĩa sang cọc thứ 3, đồng thời phải thỏa mãn những điều kiện dưới đây:

  • Chỉ có 3 cột để di chuyển.
  • Một lần chỉ được di chuyển một đĩa (không được di chuyển đĩa nằm giữa).
  • Một đĩa chỉ có thể được đặt lên một đĩa lớn hơn (không nhất thiết hai đĩa này phải có kích thước liền kề, tức là đĩa nhỏ nhất có thể nằm trên đĩa lớn nhất).

Chơi thêm những game Giải trí khác tại GameVui:

Cách chơi game Tháp Hà Nội:

  • Trên máy tính sử dụng để chơi.

Game Tháp Hà Nội đã có 129.698 lượt chơi.

Đánh giá

Trung bình: 3,9 243
  • Ồ! Rất hay 159 lượt
  • Tương đối hay 13 lượt
  • Bình thường 9 lượt
  • Chẳng hay 12 lượt
  • Dở quá 50 lượt

Hình ảnh trong game Tháp Hà Nội:

Chơi game Tháp Hà Nội - GameVui
Di chuyển các đĩa thật khéo léo
Hoàn thành thử thách
Tối đa là 8 đĩa, các bạn sẽ giải như thế nào?

Bắt đầu chỉ là 3 đĩa, liệu bạn có thể chinh phục được mốc 8 cái đĩa được không?

6 Bình luận
Sắp xếp theo
  • 🖼️
    thuat

    #include <iostream>

    #include<stdio.h>

    void towerOfHanoi(int n, char from_rod, char to_rod, char temp) {

        static int i = 0;

        // Base case: if n is 0, stop recursion

        if (n == 0) {

            return;

        }

        // Move n - 1 disks from source to temp, so they are out of the way

        towerOfHanoi(n - 1, from_rod, temp, to_rod);

        // Move the nth disk from source to target

        std::cout << ++i << " Move disk " << n << " from rod " << from_rod << " to rod " << to_rod << std::endl;

        // Move the n - 1 disks that we left on temp onto target

        towerOfHanoi(n - 1, temp, to_rod, from_rod);

    }

    int main(){

        int n;

        std::cout<<"Enter the number of disks: ";

        std::cin>>n;

        towerOfHanoi(n, 'A', 'C', 'B');

        return 0;

    }

    Thích Phản hồi 29/11/23
    • 🖼️
      Thấu Kính

      #include<iostream>

      using namespace std;


      void chuyen(int n, char nguon, char trungGian, char dich){

          if(n == 1) cout << nguon <<"-->" << dich<<endl;

          else{

              chuyen(n-1, nguon, dich, trungGian);

              chuyen(1, nguon, trungGian, dich);

              chuyen(n-1, trungGian, nguon, dich);

          }

      }

      int main(){

          int n; 

          cout <<"n = "; cin>>n;

          chuyen(n, 'A', 'B', 'C');

      }

      Thích Phản hồi 17:55 31/10
  • 🖼️
    Nguyễn Tiến

    có ai biết làm cái này bằng đệ quy không trong c++ á

    Thích Phản hồi 24/03/23
    • 🖼️
      Thu Hằng

      8 cái đĩa 59s


      Thích Phản hồi 10/02/23
      • 🖼️
        nhu quynh

        sao tui ấn câu 13 : cái quốc mà nó bảo sai


        Thích Phản hồi 25/01/23
        • 🖼️
          nhu quynh

          ối gửi nhầm chỗ

          Thích Phản hồi 25/01/23
          • 🖼️
            LDH3011

            cách di chuyển đĩa dưới cùng của 1 cột đến cột đích: trong cột đó, số đĩa= số lẻ thì mượn cột đích làm trung gian; n= số chẵn thì mượn cột ko phải đích làm trung gian; lặp đi lặp lại là ra

            Thích Phản hồi 23/08/21
            GameVui khuyên bạn: Chơi game lành mạnh, vui vẻ, sắp xếp thời gian hợp lý, tận hưởng cuộc sống lành mạnh, học tập tốt và lao động tốt.