标题: [求助]批处理写递归型hanoi
[打印本页]
作者: muya05
时间: 2007-9-3 10:55
标题: [求助]批处理写递归型hanoi
想用批处理写个hanoi,没有成功。
一些残代码:
setlocal ENABLEDELAYEDEXPANSION
set /p n="请输入汉诺塔层数:"
call :hanoi !n! a b c
:hanoi
pause
if !1! EQU 1 (
echo !2!到!4!
) else (
set /a "!1!-=1"
call :hanoi !1! !2! !4! !3!
echo !2!到!4!
set /a "!1!-=1"
call :hanoi !1! !3! !2! !4!
)
pause
能否改改,使之运行?
作者: wudixin96
时间: 2007-9-3 11:04
!1!这些变量从哪来的?
作者: muya05
时间: 2007-9-3 14:44
Quote: |
Originally posted by wudixin96 at 2007-9-3 11:04 AM:
!1!这些变量从哪来的? |
|
1:接收n传参;
2:接收a;
3:接收b;
4:接收c。
作者: wudixin96
时间: 2007-9-3 16:29
那也是%1、%2、%3、%4啊
怎么会变成
%1%、…………
作者: muya05
时间: 2007-9-4 08:20
Quote: |
Originally posted by wudixin96 at 2007-9-3 04:29 PM:
那也是%1、%2、%3、%4啊
怎么会变成
%1%、………… |
|
不懂,
哪位能做个可以正常运行的出来么(顺便附上点注释)?
作者: my3439955
时间: 2007-9-4 09:47
这个代码可以得到hanoi序列:
@echo off
setlocal ENABLEDELAYEDEXPANSION
set /p n="请输入汉诺塔层数:"
call :hanoi %n% A B C
goto :EOF
:hanoi
if %1 LEQ 1 (
echo %2 -^> %4
) else (
set /a n=%1-1
call :hanoi !n! %2 %4 %3
echo %2 -^> %4
set /a n=%1-1
call :hanoi !n! %3 %2 %4
)
goto :EOF