202 5 / 1 / 1 ( 水 ) N88-BASIC ,C で ハノイの塔 ( 4 回目 ) 再帰を使用した手順 (hanoi) Cで書く ■ 前提 ▼ 参照 https://ulprojectmail.blogspot.com/2024/12/hanoi-1.html ハノイの塔 ( 1 回目 ) より ▼ ルール 3本(A,B,C)の棒とn枚の円盤(小さい順に1~nとする)がある Aに1~nの円盤が上から順に積まれている 小さい円盤の上に大きい円盤は置けない 1度に動かせる円盤は1枚のみ ▼ 目標 1~nの円盤全てをCに移動させる ▼ Cの一部 #include <stdio.h> static void hanoi1(int n, int h, char p1, char p2, char p3) { if (n > 1) hanoi1(n - 1, h, p1, p3, p2); if (n >= h) printf(" %2d:%c->%c", n, p1, p3); if (n > 1) hanoi1(n - 1, h, p2, p1, p3); } void main(void) { int n = 3; int h = 1; hanoi1(n, h, 'A', 'B', 'C'); } ▼ nの時の手順 A,B,Cを(pole)p1,p2,p3と表現しています if (n > 1) hanoi1(n - 1, h, p1, p3, p2); 1~n-1の円盤をA->B (p1->p2) if (n >= h) printf(" %2d:%c->%c", n, p1, p3); nの円盤をA->C (p1->p3) if (n...