6_4.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:1k
- /* ======================================== */
- /* 程式实例: 6_4.c */
- /* 河内塔问题 */
- /* ======================================== */
- /* ---------------------------------------- */
- /* 河内塔问题的递归函数 */
- /* ---------------------------------------- */
- int hanoi(int dishs,int peg1,int peg2,int peg3)
- {
- if ( dishs == 1) /* 终止条件 */
- printf("盘子从 %d 移到 %dn",peg1,peg3);
- else
- {
- hanoi(dishs - 1,peg1,peg3,peg2); /* 第一步骤 */
- printf("盘子从 %d 移到 %dn",peg1,peg3);
- hanoi(dishs - 1,peg2,peg1,peg3); /* 第三步骤 */
- }
- }
- /* ---------------------------------------- */
- /* 主程式: 找出河内塔问题的解. */
- /* ---------------------------------------- */
- void main()
- {
- hanoi(3,1,2,3); /* 调用递归函数 */
- }