Professional Documents
Culture Documents
de diametre diferite, aezate n ordinea descresctoare a diametrelor privite de jos n sus. Se cere s se mute discurile de pe tija a pe tija b, utiliznd ca tij intermediar tija c, respectnd urmtoarele reguli: - la fiecare pas se mut un singur disc; - nu este permis s se aeze un disc cu diametrul mai mare peste un disc cu diametrul mai mic. a b
Exemplul 1:
Exemplul 2:
a c
b b
Exemplul 3:
a a b
b c c
a
c c
b
a b b
Algoritmul de rezolvare: Pasul 1: - mutarea a n-1 discuri de pe tija a pe tija c, utiliznd ca tij intermediar tija b; Pasul 2: - mutarea discului rmas pe tija b; Pasul 3: - mutarea a n-1 discuri de pe tija c pe tija b, utiliznd ca tij intermediar tija a.
#include<iostream.h> char a,b,c; int n; void h(int n,char a,char b, char c) { if(n==1) cout<<a<<b<<" "; else { h(n-1,a,b,c); cout<<a<<b<<" "; h(n-1,c,b,a); } } void main() { cout<<"n=";cin>>n; h(n,a',b',c'); }