[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (0 1 1000) do (
  3.     set a=%%i
  4.     if "!a:~0,1!"=="!a:~-1,1!" echo !a!
  5. )
  6. pause
复制代码

[ 本帖最后由 keen 于 2009-4-2 22:39 编辑 ]
(*^_^*)

TOP

回复 16楼 的帖子

你的效率明显的低于我的效率..
砂石下的泉水,掘得越深,泉水会越清吗?

TOP

  1. @echo off
  2. for /l %%i in (1 1 9) do (
  3. echo %%i%%i
  4. for /l %%j in (0 1 9) do (
  5. echo %%i%%j%%i
  6. )
  7. )
  8. pause>nul
复制代码
参照youxi01的方法,自己写的.
砂石下的泉水,掘得越深,泉水会越清吗?

TOP

小第不才 只能顶上去.

TOP

  1. @echo off
  2. for /l %%a in (11,1,999) do (set str=%%a&call :a)
  3. pause
  4. :a
  5. set n3=%str:~0,1%
  6. set n2=%str:~1,1%
  7. set n1=%str:~2,1%
  8. if "%n1%" equ "" (set rts=%n2%%n3%) else (set rts=%n1%%n2%%n3%)
  9. if %rts% equ %str% (echo %str%)
  10. goto :eof
复制代码
上学时想的..

TOP

回 14 楼

set /a n+=1 等同于 set /a n=n+1
set /a n+=2 等同于 set /a n=n+2

TOP

请问9楼的你代码中的set /a n+=1和set /a n+=2这两个在这段代码中各表示什么意思啊

TOP

这是我的不严谨之处。
我自己也不大清楚。
如果单个数也是的话,就要从 0 开始循环了。

TOP

0,1,2,3,4,5,6,7,8,9不算吗?

原帖由 youxi01 于 2008-9-18 12:53 发表
测试代码:@echo off
echo 0set n=1for /l %%i in (1 1 9) do (
echo %%i
echo %%i%%i
set/a n+=2
for /l %%j in (0 1 9) do (
  echo %%i%%j%%i
  echo %%i%%j%%j%%i
  set/a n+=2
  )
)
echo 10000以内总共有回文数%n%个
paus ...

[ 本帖最后由 z_berry 于 2008-9-23 13:21 编辑 ]

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (11,1,999) do (
  4. set a=%%i
  5. if "!a:~0,1!"=="!a:~-1!" echo %%i
  6. )
  7. pause
复制代码


献丑了。。。
1

评分人数

    • wxcute: 针对1000以内的就很简洁了。PB + 6

TOP

楼上的还有些不全:四位数的不见了
还有一些4004,404之类

我的代码稍微加入了统计回文数个数...

TOP

测试代码:
  1. @echo off
  2. for /l %%i in (1 1 9) do (
  3. echo %%i%%i
  4. set/a n+=1
  5. for /l %%j in (0 1 9) do (
  6.   echo %%i%%j%%i
  7.   echo %%i%%j%%j%%i
  8.   set/a n+=2
  9.   )
  10. )
  11. echo 10000以内总共有回文数%n%个
  12. pause>nul
复制代码
不过考虑全了没有,我就不知道了
1

评分人数

    • wxcute: 巧,就是没按顺序,不过应该不会少,你是管 ...PB + 2

TOP

当然楼上的思路是投机取巧的办法,不是真正意义上的检测 回文数,纯粹是列出

TOP

原帖由 youxi01 于 2008-9-18 12:36 发表
楼上效率必然不高
其实可以观察回文数的特点:左右两边对称
巧妙的方法可以直接通过for即可,数秒内就可找出10000以内所有的回文数

楼上说是的即是,本人也是用这种多层循环的方法解的,之所以没有贴出来,是想引其他人来把这块玉献出来。。。

[ 本帖最后由 batman 于 2008-9-18 12:48 编辑 ]
***共同提高***

TOP

楼上效率必然不高
其实可以观察回文数的特点:左右两边对称
巧妙的方法可以直接通过for即可,数秒内就可找出10000以内所有的回文数

TOP

返回列表