У меня есть эта функция для решения проблемы Ханойской башни, и, к счастью, она работает хорошо, но кто-нибудь может мне объяснить, если функция вызывает ее самостоятельно перед оператором cout в случае m! = 0, тогда как она когда-либо достигает coutзаявление или даже другой вызов сам по себе ??
#include <iostream>
using namespace std;
void Hanoi(int m, char a, char b, char c){
if(m == 1){
cout << "Move disc " << m << " from " << a << " to " << c << endl;
}else{
Hanoi(m-1, a,c,b);
cout << "Move disc " << m << " from " << a << " to " << c << endl;
Hanoi(m-1,b,a,c);
}
}
int main(){
int discs;
cout << "Enter the number of discs: " << endl;
cin >> discs;
Hanoi(discs, 'A', 'B', 'C');
return 0;
}