2024/ 8 / 10 ( 火 ) N88-BASIC ,C で ハノイの塔 ( 1 回目 ) 再帰を使用した手順 (hanoi) ■ 前提 ▼ 参照 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に移動させる ▼ nの時の手順 1~n-1の円盤をA->B nの円盤をA->C 1~n-1の円盤をB->C 以上の手順で完成する ▼ 移動回数 N(n) N(n) = 2 n - 1 回 ▼ n = 64の移動時間T(64) N(64) = 2 64 - 1 = 18,446,744,073,709,551,615回 グレゴリオ暦 (現在の使用されている暦)の1年は365.2425日 3600×24×365.2425 = 31,556,952秒/年(グレゴリオ暦) α = 18,446,744,073,709,551,615回 / 31,556,952秒/年 = 18,446,744,073,709,551,615 / 31,556,952 年 /(秒/回) = 584,554,049,253.855429859005… 年/(秒/回) n移動する時間をT(n)とすると T(64) = T(n)/N(n) (秒/回) × α 年 /(秒/回) = αT(n)/N(n) (年) ■ 動作 変数名などは A,B,Cを(pole)1,2,3と表現しています nを入力し 1:A->Cの様に円盤の番号1~n(小~大)と棒A,B,C間の移動を表示する 今回の手順は再帰を使用しています VL,NL,XL-BAS...