#include /*----------------------------------------------------*/ char *ch[3] = { "A", "B", "C" }; /* 1枚の円盤をaからbに移動する */ void action(int a, int b) { printf("%s から %s へ移動\n",ch[a],ch[b]); } /* n枚の円盤をaからbに移動する */ void puzzle(int n, int a, int b) { int c = 3 - a - b; if (n == 1) action(a,b); else { puzzle(n-1,a,c); action(a,b); puzzle(n-1,c,b); } } /*----------------------------------------------------*/ void main() { puzzle(4,0,2); }