[問題] 河內塔問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++
問題(Question): 程式顯示出來是
1: 將第 1 個圓盤由 A 移到 C
2: 將第 2 個圓盤由 A 移到 B
但我想顯示成
32,,1
3, 2, 1
請問要怎麼修改程式碼
謝謝!!
程式碼(Code):(請善用置底文網頁, 記得排版)
#include <stdio.h>
#include <stdlib.h>
void hanoi(int, char, char, char);
int time = 0;
int main(void)
{
int n;
printf("請輸入河內塔的高度:");
scanf("%d", &n);
hanoi(n, 'A', 'B', 'C');
printf("移動 %d 層河內塔共需移動 %d 次\n", n, time);
system("pause");
}
void hanoi(int n, char A, char B, char C)
{
if (n == 1)
{
printf("%d: 將第 %d 個圓盤由 %c 移到 %c\n", ++time, n, A, C);
}
else
{
hanoi(n - 1, A, C, B);
printf("%d: 將第 %d 個圓盤由 %c 移到 %c\n", ++time, n, A, C);
hanoi(n - 1, B, A, C);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.114.53.46
推
07/31 17:01, , 1F
07/31 17:01, 1F
→
07/31 17:02, , 2F
07/31 17:02, 2F
→
07/31 17:04, , 3F
07/31 17:04, 3F
→
07/31 18:33, , 4F
07/31 18:33, 4F
討論串 (同標題文章)