N88-BASIC,Cでハノイの塔 (1回目)

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) = 2n - 1 回
 
 n = 64の移動時間T(64)
N(64) = 264 - 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-BASICとdlg~.zip(han001.bas)は
このブログ(以下のリンク)から
ダウンロードできます
https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい




 















このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)