标题: [文本处理] 批处理打印杨辉三角 [打印本页]
作者: youxi01 时间: 2007-11-7 14:20 标题: 批处理打印杨辉三角
要求:
1、至少打印十行;
2、不能纯粹使用echo;
附:杨辉三角
杨辉三角
杨辉三角是一个由数字排列成的三角形数表,一般形式如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和。
作者: youxi01 时间: 2007-11-7 17:46
呵呵,不错。
不过,不过最好 配有作者信息和解释说明,以利于其他人的阅读
作者: 随风 时间: 2007-11-12 12:21
::实在无聊,拿 wudixin96 的杨辉三角来出出气。
::以 金字塔 显示输出试试。
::再加个 倒金字塔。
::- @echo off&color 0e
- setlocal enabledelayedexpansion
- mode con: cols=130 lines=130
- :top
- cls
- ::set /p in=请输入行数:
- set in=23&set ab=1&set var=64
- if "%in%"=="" goto top
- if %in% geq 35 goto top
- if %in% leq 0 goto top
- echo %in%|findstr /r "^[0-9][0-9]*$">nul 2>nul||goto top
- set str=1
- for /l %%i in (1,1,%in%) do (
- set num=
- set num2=0
- for %%a in (!str!) do (
- set /a num2+=1
- if !num2!==1 set "str1="
- set /a num1=%%a+num
- set "str1=!str1! !num1!"
- set num=%%a
- )
- call :lis "!str1:~1!"
- set "str=!str1! 0"
- )
- rem 再输出个倒 金字塔 玩玩。
- for /l %%a in (22 -1 1) do echo !nam%%a!
- for /l %%i in (1 1 3) do (
- for %%a in (a b c d e f) do (
- color 0%%a
- ping/n 2 127.1>nul
- ))
- exit
- :lis
- set max=%~1
- for /l %%a in (0 1 300) do (
- if not "!max:~%%a,1!"=="" set /a ci+=1
- )
- set /a ki=var-ci/2
- for /l %%a in (1 1 !ki!) do set kg= !kg!
- echo !kg!!max!
- set nam!ab!=!kg!!max!
- set /a ab+=1
- set ci=0&set kg=
- goto :eof
复制代码
作者: 曾经的你 时间: 2018-6-10 14:24
回复 3# 随风
玩的6了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |