投稿

1月, 2025の投稿を表示しています

NEWS

2025/1/4(土) VL,NL,XL-BASIC(ver~28w4) を公開しました    2025/1/1(水 ) N88-BASICでハノイの塔 (4回目)(C再帰) を公開しました    2024/12/21(土 ) ハノイの塔 (3回目)  を公開しました

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

イメージ
    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...