📄 6_4.c
字号:
/* ======================================== */
/* 程式实例: 6_4.c */
/* 河内塔问题 */
/* ======================================== */
/* ---------------------------------------- */
/* 河内塔问题的递归函数 */
/* ---------------------------------------- */
int hanoi(int dishs,int peg1,int peg2,int peg3)
{
if ( dishs == 1) /* 终止条件 */
printf("盘子从 %d 移到 %d\n",peg1,peg3);
else
{
hanoi(dishs - 1,peg1,peg3,peg2); /* 第一步骤 */
printf("盘子从 %d 移到 %d\n",peg1,peg3);
hanoi(dishs - 1,peg2,peg1,peg3); /* 第三步骤 */
}
}
/* ---------------------------------------- */
/* 主程式: 找出河内塔问题的解. */
/* ---------------------------------------- */
void main()
{
hanoi(3,1,2,3); /* 调用递归函数 */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -