[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
你们是怎么样炼成的啊
批处理爱好者,新学员

TOP

本帖最后由 shelluserwlb 于 2014-11-20 09:40 编辑
  1. @echo off
  2. goto :START
  3. 我国古代有一种回文诗,倒念顺念都有意思,例如“人过大佛寺”,倒读起来便是“寺佛大过人”。还
  4. 有经典的对联“客上天然居,居然天上客”。此种例子举不胜举。
  5. 从左向右读与从右向左读完全一样的数字就是回文数,如11、121、767等等。
  6. :START
  7. MODE CON LINES=200
  8. setlocal enabledelayedexpansion
  9. set /a total=0
  10. for /l %%i in (11,1,10000) do (
  11.     set num=%%i
  12.     :: 判断小于1000的数字
  13.     if !num! lss 1000  (
  14. if "!num:~0,1!"=="!num:~-1,1!" (
  15.     echo !num! & set /a total+=1  
  16. )
  17.     )
  18.    ::判断大于等于1000且小于10000的数字
  19.    if !num! geq 1000  ( if !num! lss 10000 (
  20. if "!num:~0,1!"=="!num:~-1,1!" ( if "!num:~1,1!"=="!num:~2,1!" (
  21.     echo !num! & set /a total+=1
  22.         ))
  23.     ))
  24. )
  25. echo 一万以内总共有%total%个回文件数。
  26. endlocal & pause>NUL
复制代码
上述是找出10000以内的回文数的批处理代码。

TOP

本帖最后由 shelluserwlb 于 2014-12-6 23:53 编辑

参照18楼的代码,改了一下,按从小到大的顺序显示1000以内的回文数(1个数字不能算回文数)。
  1. @echo off
  2. for /l %%i in (1,1,9) do echo %%i%%i
  3. for /l %%i in (1,1,9) do (
  4.     for /l %%j in (0,1,9) do (
  5. echo %%i%%j%%i
  6.     )
  7. )
  8. pause
复制代码

TOP

参照9楼的代码,按从小到大的顺序完全列出10000以内的回文数
(效率应该不会差到哪里去的。)
  1. @echo off
  2. set /a total=9
  3. for /l %%i in (1,1,9) do echo %%i%%i
  4. for /l %%i in (1,1,9) do (
  5.     for /l %%j in (0,1,9) do (
  6. echo %%i%%j%%i
  7.         set /a total+=1
  8.     )
  9. )
  10. for /l %%i in (1,1,9) do (
  11.     for /l %%j in (0,1,9) do (
  12.         echo %%i%%j%%j%%i
  13.         set /a total+=1
  14.     )
  15. )
  16. echo 一万以内共有%total%个回文数!
  17. pause>nul
复制代码

TOP

返回列表