国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }

運行結果:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苍梧县| 石首市| 平乡县| 金平| 云霄县| 益阳市| 德令哈市| 金昌市| 柞水县| 台南市| 乐安县| 清丰县| 汉中市| 乌兰浩特市| 郑州市| 衡阳市| 资中县| 济源市| 奉新县| 三台县| 台山市| 利津县| 浙江省| 交口县| 曲靖市| 陆丰市| 江川县| 济阳县| 大理市| 家居| 罗源县| 昆明市| 龙里县| 马尔康县| 彭泽县| 辽阳市| 广南县| 龙江县| 勃利县| 龙山县| 宣恩县|