本帖最后由 悬崖之树 于 2014-7-25 21:06 编辑
- @echo off
-
- setlocal enabledelayedexpansion
-
- for /l %%i in (1 1 10000) do (
- set str=%%i
- set /a n=0
- call :loop
- if !str!==!res! echo %%i
- )
- pause
- :loop
- if "!str:~%n%,1!" neq "" (
- set /a n+=1&goto loop
- )
- for /l %%i in (1 1 %n%) do (
- set "i=-%%i"
- call set res=!res!%%str:~!i!,1%%
- )
复制代码 下面的代码也不行:- @echo off
-
- setlocal enabledelayedexpansion
-
- for /l %%i in (1 1 10000) do (
- set str=%%i
- set /a n=0
- call :loop
- if !str!==!res! echo %%i
- )
- pause
- :loop
- call set t=%%str:~!n!,1%%
- if "!t!" neq "" (
- set res=!t!!res!
- set /a n+=1
- goto loop
- )
复制代码 我的算法是把10000以内的所有的数反写,如果反写后的数和正写的数一样的话,就认为是回文数。 |