📄 002.cpp
字号:
//汉诺塔的问题
/*
将N个盘子从A针移动到C针可分为以下三个步骤、
《1》将A上的N-1个盘子移动到B针上
《2》将A上的第N个盘子移动到C针上
《3》将N-1个盘子从B针上移动到C针上
*/
#include <iostream>
using namespace std;
static int i=0;
void move(char getone,char putone)
{
cout<<getone<<"-->"<<putone<<endl;
i++;
}
void hanoi (int n, char one ,char two,char three)
{
void move (char getone ,char putone);
if (n==1)
{
move (one,three);
}
else
{
hanoi(n-1,one,three,two);
move (one ,three);
hanoi(n-1,two,one,three);
}
}
void main ()
{
void hanoi (int n,char one ,char two, char three);
int m;
cout <<"Enter the number of diskes:\n";
cin >>m;
cout <<"the steps to moving "<<m<<"diskes:\n";
hanoi(m,'A','B','C');
cout <<"the moving degree is:"<<i<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -