⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 002.cpp

📁 输入汉诺塔的总阶数
💻 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 + -