batcher 发的都看不懂啊,效率高的惊人。。。
以下是把batman的代码略改算法,效率有所提升- @echo off&setlocal enabledelayedexpansion
- set /a a=1000000
- call :loop
- pause&goto :eof
- :loop
- set /a f=a/2
- for /l %%a in (3,2,%f%) do (
- set /a b=a-%%a,n=0&call :lp %%a !b!
- if !n! equ 2 echo %a%=%%a+!b!&goto :eof
- )
- goto :eof
- :lp
- set /a c=%1/2
- for /l %%a in (3,2,%c%) do (
- set /a d=%1%%%%a
- if !d! equ 0 goto :eof
- )
- set /a n+=1
- if "%2" neq "" shift&goto lp
复制代码
[ 本帖最后由 随风 于 2009-4-25 12:57 编辑 ] |