void towerHanoi (char from, char to, char aux, int n)
{
if (n==1)
printf("move disk 1 from peg%c to peg%c\n", from , to);
else
{
towerHanoi(from, aux, to , n-1);
printf("move disk %d from peg %c to peg %c\n ", n, from, to);
towerHanoi(aux, to, from, n-1);
}
}
void main()
{
towerHanoi('A', 'C', 'B', 3);
}
void Hanoi(char from, char to, char aux, int n)
{
if(n == 1)
cout << "move disk 1 from peg " << from << " to peg " << to << endl;
else
Hanoi(from, aux, to, n-1);
cout << "move disk " << n <<" from peg " << from << " to peg " << to << endl;
Hanoi(aux, to, from, n-1);
}
void main()
{
Hanoi('A', 'C', 'B', 3);
}
위 알고리즘이 C고 밑에 알고리즘이 C++인데 토씨하나 안틀리고 다 똑같은데요.
C는 정상적으로 7줄이 출력 되는데 C++은 단 2줄 밖에 출력이 안되네요.
C++은 경고가 하나 뜨는데 'Hanoi' : 모든 제어 경로에서 재귀적입니다. 함수로 인해 런타임 스택 오버플로가 발생합니다.
이런 경고가 뜨기도 하고요. 대체 어느게 문젠건가요..?