学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

[分享] 汉诺塔(递归) 批处理版

[分享] 汉诺塔(递归) 批处理版

这两天在学批处理,发一个批处理版的汉诺塔分享下。
复制分隔线下的代码保存为.bat文件
----------------------------------------------------------

@echo off
title 汉诺塔
Call :main
pause
exit %errorlevel%

:main
    call :about
    set /p n="输入汉诺塔层数n, (n为正整数): "
    set /a n+=0
    set /a errorlevel=0
    call :hannoi %n% a b c
    echo.
    echo %n%层汉诺塔最少需移动%errorlevel%次!
    echo.
    exit /b %n%

:hannoi
    set i=%1
    set /a i=%1-1
    if %1==0 (goto :EOF) else (
        call :hannoi %i% %2 %4 %3
        echo %2-^>%4
        set /a errorlevel+=1
        call :hannoi %i% %3 %2 %4
    )
    goto :EOF

:about
    echo ┏ About  ━━━━━━━━━━━┓
    echo ┃ 文件: Hannoi(递归).bat      ┃
    echo ┃ 名称: 汉诺塔(Hannoi)        ┃
    echo ┃ 作者: 燮冥 -- cosdos        ┃
    echo ┃ 时间: 2008-5-16 1:23        ┃
    echo ┗━━━━━━━━━━━━━━━┛
    echo.
    goto :EOF

TOP

很有趣,用批处理写汉诺塔。估计现在的新人很少会写批处理了,DOS时代的东西。

TOP

发新话题