// ハノイの塔 #include // 関数 void hanoi(int n, char a, char b, char c) { if(n > 0){ // bとcを交換したn-1枚の時の解 hanoi(n-1, a, c, b); // 1枚の時の解 printf("%c→%c\n", a, b); // aとcを交換したn-1枚の時の解 hanoi(n-1, c, b, a); } } // メイン int main(void) { int n; char a = 'a'; char b = 'b'; char c = 'c'; printf("円盤は何枚?:"); scanf("%d", &n); printf("%d枚の解(棒aから棒bへ移動させる)\n", n); hanoi(n, a, b, c); return(0); }