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

📄 3t.cpp

📁 这是在学算法分析时,我分别用三个柱子和四个柱子来完成的汉诺塔的程序
💻 CPP
字号:
#include<iostream.h>
static int i=0;
void mov(char a,char c)
{ 
	cout<<a<<"-->"<<c;
	cout<<endl;
}
void honit(int n,char A,char B,char C,char D)
{
	
	if(n==1)
	{	mov(A,D);i=i+1;}
	else if(n==2)
	{
		mov(A,B);
		mov(A,D);
		mov(B,D);i=i+3;
	}
	else
	{
	honit(n-2,A,D,C,B);
	mov(A,C);
	mov(A,D);
	mov(C,D);
	i=i+3;
	honit(n-2,B,A,C,D);
	}
   
}
main()
{
	int n;
	cout<<"请输入盘子数为:";
	cin>>n;
	char A,B,C,D;
	honit(n,'A','B','C','D');	
	cout<<"总共移动的次数为:";
	cout<<i;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -