rolaka 发表于 2010-8-29 13:50:05

回复rolaka

第一個方案有71組.....

應該只有62才對

第二個方法我想過,不過我不敢po出來

哈 ...
xjdjpbp 发表于 2010-8-29 12:53 http://www.autoitx.com/images/common/back.gif
俄 第一个办法是错了..

foboy 发表于 2010-8-29 17:42:59

回复foboy


    不知道是增加循环减少运算符及判断耗时些,还是减少循环增加运算符及判断耗时些
afan 发表于 2010-8-29 11:00 http://www.autoitx.com/images/common/back.gif
哪个更有效率可以通过实验证明,经过反复实验得出结论,我的代码平均效率是你的至少三倍。
我的代码虽然多用了个运算符,但是里面没有字符串运算,所以效率高一些。你可以在你的机器上试试 ,下面是我们两个带代码一起运行:(只取字符, 没有输出)
#include <Array.au3>
$pretime = TimerInit()
Local $out, $ts = TimerInit()
For $i = 1 To 75
        $out &= Chr($i + 47)
        $c = Random(1, $i, 1)
        $out = StringTrimLeft($out, $c) & StringLeft($out, $c)
Next
$a = StringRegExp($out, '', 3)
ConsoleWrite(TimerDiff($pretime) & @CRLF)

$pretime = TimerInit()
Global $string
For $i = 48 To 109
        $string[$i-48]=Chr($i + ($i > 57) * 7 + ($i > 83) * 6)
Next
ConsoleWrite(TimerDiff($pretime))

afan 发表于 2010-8-29 21:32:51

回复 17# foboy


    我这也是3倍的结果~
其实我比较感兴趣的是打乱部分,那个测试仅是为了打乱~
对于顺序输出,前面已经测试过你的代码的高效率了。

suifengyao 发表于 2010-9-2 20:20:54

高手``````
页: 1 [2]
查看完整版本: [08-28晚更新]求枚举0~9、A~Z、a~z最有效率的算法[添加了新要求]