国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

漢諾塔問題

2019-11-08 18:53:08
字體:
來源:轉載
供稿:網友
/* *問題描述:有三根桿子A,B,C。A桿上有N個(N>1)穿孔圓盤,盤的尺寸由下到上依次變小。 *          要求按下列規則將所有圓盤移至C桿:提示:可將圓盤臨時置于B桿,也可將從A桿 *          移出的圓盤重新移回A桿,但都必須尊循上述兩條規則。問:如何移?最少要移動多少次? */ #include<iostream> using namespace std; void Hanoi(int n,char src,char mid,char dest) {//將src座上的n個盤子以mid為中轉,移動到dest座     if( n == 1)     {//只需要移動一個盤子         cout <<src <<"->"<<dest<<endl;//直接將盤子從src移動到dest即可         return ;//遞歸終止     }     Hanoi(n-1,src,dest,mid);//先將n-1個盤子從src以dest為中轉移動到dest     cout<<src <<"->"<<dest<<endl;//再將一個盤子從src移動到dest     Hanoi(n-1,mid,src,dest);//最后將n-1個盤子從mid以src為中轉移到dest即可     return ; } int main() {     int n;     cout<<"輸入要移動的盤子的個數:"<<endl;     cin>>n;     Hanoi(n,'A','B','C');     return 0; }

運行結果:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张掖市| 龙岩市| 德安县| 醴陵市| 德令哈市| 荣昌县| 陇川县| 章丘市| 呈贡县| 济宁市| 桓台县| 东台市| 凤山县| 新晃| 泾源县| 内江市| 湖口县| 大荔县| 绥芬河市| 全州县| 蚌埠市| 南宫市| 雷波县| 大英县| 乌鲁木齐市| 泸州市| 巴里| 赣州市| 陇川县| 乡城县| 布尔津县| 淮阳县| 连州市| 抚宁县| 化隆| 米易县| 仁怀市| 澄江县| 涟水县| 德州市| 乐山市|