其实我就没测试,从算法上分析我就知道不测试时间都一样,只是用的变量不一样,三重循环在理论上可能还稍费时间。
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by plp626 at 2008-4-12 23:20:
其实我就没测试,从算法上分析我就知道不测试时间都一样,只是用的变量不一样,三重循环在理论上可能还稍费时间。
@echo off
:: 代码一、
for /l %%a in (10000 1 99999) do echo %%a
::代码二、
for /l %%a in (1 1 9) do (
for /l %%b in (0 1 9) do (
for /l %%c in (0 1 9) do (
for /l %%d in (0 1 9) do (
for /l %%e in (0 1 9) do (
echo %%a%%b%%c%%d%%d
)))))
pause
@echo off
setlocal enabledelayedexpansion
for /l %%i in (100,1,999) do (
set str=%%i
set/a a=!str:~,1!, b=!str:~1,1!, c=!str:~2,1!
set /a var=!a!*!a!*!a!+!b!*!b!*!b!+!c!*!c!*!c!
if !var! equ !str! echo !str!
)
pause
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,9) do for /l %%j in (0,1,9) do for /l %%k in (0,1,9) do (
set/a a=%%i,b=%%j,c=%%k
set num1=!a!!b!!c!
set /a num2=!a!*!a!*!a!+!b!*!b!*!b!+!c!*!c!*!c!
if !num1! equ !num2! echo !num1!
)
pause
Originally posted by 26933062 at 2008-4-13 03:01:
set 到底哪个算法快,我确实不知道。
请问以下两个代码的效率有区别么?我以为代码一,应该快点吧?
:
@echo off
:: 代码一、
for /l %%a in (10000 ...