- #include <iostream.h>
- void moveDisks(int disknum,char sourcePole,char targetPole,char midPole);
- int main()
- {
- int n;
- cout<<"請輸入盤子的數目:";
- cin>>n;
- if(n<=0)
- cout<<"盤子數目必須大於0";
- else
- moveDisks(n,'A','C','B');
- return 0;
- }
- void moveDisks(int disknum,char sourcePole,char targetPole,char midPole)
- {
- if (disknum==1)
- cout<<sourcePole<<"->"<<targetPole<<endl;
- else
- {
- moveDisks(disknum-1,sourcePole,midPole,targetPole);
- cout<<sourcePole<<"->"<<targetPole<<endl;
- moveDisks(disknum-1,midPole,targetPole,sourcePole);
- }
- }