程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Hanoi塔問題,hanoi塔

Hanoi塔問題,hanoi塔

編輯:C++入門知識

Hanoi塔問題,hanoi塔


傳說在古代印度的貝拿勒斯聖廟裡,安放了一塊黃銅板,板上插了三根寶石柱(不妨設A、B、C柱),在A寶石柱上,自上而下按由小到大的順序串有64個金盤。要求將A柱子上的64個金盤按照下面的規則移到C柱上。
規則: 
①一次只能移一個盤子; 
②盤子只能在三個柱子上存放; 
③任何時候大盤不能放在小盤上面。
任務:輸入正整數n(A柱上的盤子數),輸出移動到C柱上的移動過程。
分析 :設A上有n個盤子。
1. n=1時,則將圓盤從A直接移動到C。
2. n=2時,則:
①將A上的1個圓盤移到B上;
②再將A上的一個圓盤移到C上;

③最後將B上的1個圓盤移到C上。

★★★有了代碼就好辦了★★★

代碼奉上▼

#include<stdio.h>
void hanoi(int n,char A,char B,char C)
{
    if(n==1)
        printf("%c→%c",A,C);
    else 
    {
        hanoi(n-1,A,C,B);
        printf("%c→%c\n",A,C);
        hanoi(n-1,B,A,C);
    }
}
int main()
{
    hanoi(20,'X','Y','Z');    
}
    

 關於C++與Dev-C++的下載

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved