
[已解決]找出10000以內的所有回文數的批處理代碼錯在哪里最后由 懸崖之樹 于 -7-25 21:06
下面的代碼也不行:nclick="copycode($('code0'));">復制代碼
- @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%%
- )
我的算法是把10000以內的所有的數反寫,如果反寫后的數和正寫的數一樣的話,就認為是回文數。nclick="copycode($('code1'));">復制代碼
- @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
- )

