[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 happy886rr 于 2017-3-18 18:51 编辑

回复 30# 老刘1号
你画的是有点偏差了,应该这样画(外链图,随时失效)
  1. @echo off
  2. mode con cols=300 lines=80
  3. setlocal enabledelayedexpansion
  4. set "Space=                                                                                                    "
  5. set/a "L=(1<<7)-1"
  6. for /l %%i in (0,1,!L!) do (
  7. set/a "1/(%%i&1)" 2>NUL || (
  8. set/a "SL=(L-%%i)>>1"
  9. for %%j in (!SL!) do (
  10. set "PreSpace=!Space:~0,%%j!"
  11. )
  12. for /l %%j in (0,1,!L!) do (
  13. set/a "1/((%%i&%%j)-%%j)" 2>NUL && (
  14. set "PreSpace=!PreSpace! "
  15. ) || (
  16. set "PreSpace=!PreSpace!*"
  17. )
  18. )
  19. echo;!PreSpace!
  20. )
  21. )
  22. set/p=LEVEL: 7
复制代码
2

评分人数

TOP

回复 29# 523066680
Matrix67的方法就是好用。

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. set /a "w=80,h=35,t=w*h,xc=w/2,yc=h/2"
  3. mode %w%,40
  4. for /l %%i in (1 1 !t!) do set "s=!s! "
  5. call :f 0 -16 32 s
  6. echo;!s! &pause &exit
  7. :f xtop ytop hei s
  8. REM 半顶角对边与底角对边比: 1:1 , hei <= 1, 绘 3 点, 否则递归
  9. setlocal
  10. set "s=!%4!"
  11. if %3 leq 1 (
  12.     set /a "a=%1 - 1, d=b=%2 + 1, c= %1 + 1"
  13.     call :d %1 %2 & call :d !a! !b! & call :d !c! !d!
  14. ) else (
  15.     set /a "h=%3 >> 1, a= %1 - h, d=b=%2 + h, c= %1 + h"
  16.     call :f %1 %2 !h! %4 & call :f !a! !b! !h! %4 & call :f !c! !d! !h! %4
  17. )
  18. (
  19. endlocal
  20. set "%4=%s%"
  21. exit /b
  22. )
  23. :d
  24. set /a "i=%1-xc + (%2-yc) * w + 1, L=i-1"
  25. for /f "tokens=1,2" %%a in ("!L! !i!") do (set s=!s:~0,%%a!*!s:~%%b!)
  26. exit /b
复制代码
1

评分人数

TOP

返回列表