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 + -
显示快捷键?