找回密码
 加入
搜索
楼主: kn007

[效率算法] [08-28晚更新]求枚举0~9、A~Z、a~z最有效率的算法[添加了新要求]

 火.. [复制链接]
发表于 2010-8-29 13:50:05 | 显示全部楼层
回复  rolaka

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

應該只有62才對

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

哈 ...
xjdjpbp 发表于 2010-8-29 12:53

俄 第一个办法是错了..
发表于 2010-8-29 17:42:59 | 显示全部楼层
回复  foboy


    不知道是增加循环减少运算符及判断耗时些,还是减少循环增加运算符及判断耗时些
afan 发表于 2010-8-29 11:00

哪个更有效率可以通过实验证明,经过反复实验得出结论,我的代码平均效率是你的至少三倍。
我的代码虽然多用了个运算符,但是里面没有字符串运算,所以效率高一些。你可以在你的机器上试试 ,下面是我们两个带代码一起运行:(只取字符, 没有输出)
#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, '[0-9A-Za-z]', 3)
ConsoleWrite(TimerDiff($pretime) & @CRLF)

$pretime = TimerInit()
Global $string[62]
For $i = 48 To 109
        $string[$i-48]=Chr($i + ($i > 57) * 7 + ($i > 83) * 6)
Next
ConsoleWrite(TimerDiff($pretime))
发表于 2010-8-29 21:32:51 | 显示全部楼层
回复 17# foboy


    我这也是3倍的结果~
其实我比较感兴趣的是打乱部分,那个测试仅是为了打乱~
对于顺序输出,前面已经测试过你的代码的高效率了。
发表于 2010-9-2 20:20:54 | 显示全部楼层
高手``````
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 02:34 , Processed in 0.067193 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表