hanoi.cpp

来自「汉诺塔问题的求解」· C++ 代码 · 共 34 行

CPP
34
字号
#include <stdio.h>
int step=0;
void move(char x,int n,char z)
{
	printf("step%d,the disk number is %d,from %c to %c\n",++step,n,x,z);
}
void hanoi(int n,char x,char y,char z)
{
	if (n==1)
	{
		move(x,1,z);
	} 
	else
	{
		hanoi(n-1,x,z,y);
		move(x,n,z);
		hanoi(n-1,y,x,z);
	}
	
}
void main()
{
	int n;
	printf("how many disks is an A:");
	scanf("%d",&n);
	if (n<1)
	{
		printf("input error!\n");
	} 
	else
	{
		hanoi(n,'A','B','C');
	}
}

⌨️ 快捷键说明

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