Problema turnurilor din hanoi..
Imi poate explica si mie cineva cum se rezolva algoritmul ???
Răspunsuri la întrebare
Răspuns de
2
Turnurile din Hanoi folosesc metoda Divide et Impera. Ai mai jos o sursa pe care o poti parcurge pas cu pas. Succes!
#include <bits/stdc++.h>
using namespace std;
char a, b, c;
int n;
void han (int n, char a, char b, char c)
{
if (n == 1) cout << a << " " << b << "\n";
else
{
han(n - 1, a, c, b);
cout << a << " " << b << "\n";
han(n - 1, c, b, a);
}
}
main ()
{
cout << " n = "; cin >> n;
a = 'a'; b = 'b'; c = 'c';
han(n, a, b, c);
}
#include <bits/stdc++.h>
using namespace std;
char a, b, c;
int n;
void han (int n, char a, char b, char c)
{
if (n == 1) cout << a << " " << b << "\n";
else
{
han(n - 1, a, c, b);
cout << a << " " << b << "\n";
han(n - 1, c, b, a);
}
}
main ()
{
cout << " n = "; cin >> n;
a = 'a'; b = 'b'; c = 'c';
han(n, a, b, c);
}
andriesboss92:
Multumesc.. :d
Alte întrebări interesante
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă