您好,登錄后才能下訂單哦!
#include<stdio.h> //漢諾塔問題 void hannuota(int n,char a,char b,char c); int main(void){ char ch2 = 'A'; char ch3 = 'B'; char ch4 = 'C'; int n = 0; printf("請輸入要移動的盤子的個數:"); scanf("%d",&n); hannuota(n,ch2,ch3,ch4); return 0; } /* 如果是一個盤子 直接將A柱子上的盤子 從A移到C 否則 先A柱子上的n-1個盤子借助C移到B 再將A柱子上的最后一個盤子從A移到C 然后將B柱子上的n-1個盤子借助A移到C */ //將盤子從a借助b移到c void hannuota(int n,char a,char b,char c){ if(n == 1){ printf("將編號%d盤子從%c移到%c\n",n,a,c); }else{ //先A柱子上的n-1個盤子借助C移到B hannuota(n-1,a,c,b); //再將A柱子上的最后一個盤子從A移到C printf("將編號%d盤子從%c移到%c\n",n,a,c); //然后將B柱子上的n-1個盤子借助A移到C hannuota(n-1,b,a,c); } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。