ID非公開

2022/5/25 18:36

33回答

このプログラムを実行すると下記のような実行結果になります。この時は数字の4を入力した際の実行結果です。この結果の一番下の行に

C言語関連38閲覧

ベストアンサー

0

その他の回答(2件)

0

#include <stdio.h> void hanoi(int,char,char,char); int cnt=0; int main(void) { int n; printf("円盤の枚数 ? "); scanf("%d",&n); hanoi(n,'a','b','c'); printf("**** %d\n",cnt); } void hanoi(int n,char a,char b,char c) // 再帰手続 { if (n>0) { hanoi(n-1,a,c,b); printf("%d番の円盤を %c から %c に移動\n",n,a,b); cnt++; hanoi(n-1,c,b,a); } }

1

(ID非公開) #include <stdio.h> void hanoi(int,char,char,char,int*); int main(void) { int n,cnt=0; printf("円盤の枚数 ? "); scanf("%d",&n); hanoi(n,'a','b','c',&cnt); printf("円盤の移動回数は %d です\n",cnt); } void hanoi(int n,char a,char b,char c,int *q) // 再帰手続 { if (n>0) { hanoi(n-1,a,c,b,q); printf("%d番の円盤を %c から %c に移動\n",n,a,b); *q += 1; hanoi(n-1,c,b,a,q); } }

1人がナイス!しています