求个字典生成器的算法
求个字典生成器的算法,目的用于批量成生指定范围的字符串,不是随机生成,是按顺序来生成的。我想达到的效果是这样a
b
c
...
z
o
1
2
...
9
aa
ab
ac
...
a9
ba
bb
bc
...
b9
...
...
99999999
请各位大牛支招,谢谢咯 #include <array.au3>
$a="abcdefghijklmnopqrstuvwxyz1234567890"
$b=StringSplit($a,"",2)
$c=_ArrayCombinations($b,2);2参加组合的元素个数
_ArrayDisplay($c)
以此类推,
不建议这样生成字典。
au3最多支持16 777 216个数组元素。 #include
$a="abcdefghijklmnopqrstuvwxyz1234567890"
$b=StringSplit($a,"",2)
$c=_ArrayCombinations ...
pcbar 发表于 2011-7-18 10:40 http://www.autoitx.com/images/common/back.gif
谢谢超版指点!{:face (88):}
如果不这样生成字典,那有什么好的生成算法推荐呢? 在au3里用大数组会非常慢的.
其实关键是你这样做的目的是啥?
一般没必要把它们一个个产生出来存着 在au3里用大数组会非常慢的.
其实关键是你这样做的目的是啥?
一般没必要把它们一个个产生出来存着
happytc 发表于 2011-7-18 14:31 http://www.autoitx.com/images/common/back.gif
是这样的,我公司要我们在一个商务平台上找电话号码资料,手动复制粘贴那速度肯定是很慢的嘛,所以想用au3写个自动获取的程序。我发现那个商务平台上商家的主页都是*.abc.com(*可以是数字、字母单个或组合)这样的形式的,所以才想写段类似字典生成器功能的代码来自动生成这其中的*。希望大牛支招,谢谢 Random
即可........... 回复 5# xiaozui
原来是这样,所以把目的说出来更重要。
根本不需要你的标题说的那样的方法,的确只需要产生随机数就够了。
Do
$rNum = Random(48, 122, 1)
If ($rNum > 57 And $rNum < 65) Or ($rNum > 90 And $rNum < 97) Or $rNum > 122 Then
ContinueLoop
Else
$str = Chr($rNum)
MsgBox(0, 0, $str)
EndIf
Until False
回复xiaozui
原来是这样,所以把目的说出来更重要。
根本不需要你的标题说的那样的方法,的确 ...
happytc 发表于 2011-7-18 23:28 http://www.autoitx.com/images/common/back.gif
谢谢,不过,随机的话,会有重复的。 谢谢,不过,随机的话,会有重复的。
xiaozui 发表于 2011-7-19 12:40 http://www.autoitx.com/images/common/back.gif
这又涉及到你的更进一步目的:代码来自动生成这其中的*
生成这个又是干什么用呢? 是这样的,我公司要我们在一个商务平台上找电话号码资料,手动复制粘贴那速度肯定是很慢的嘛,所以想 ...
xiaozui 发表于 2011-7-18 15:22 http://www.autoitx.com/images/common/back.gif
是收集电话号码,然后发垃圾短信的那种?
以下代码效率极低.慎用
#include <array.au3>
$result=_DIC_Word(3)
_ArrayDisplay($result)
Func _DIC_Word($number);层级,如3则AAA
$a="abcdefghijklmnopqrstuvwxyz1234567890"
$b=StringSplit($a,"",2)
$c=_ArrayCombinations($b,$number)
Local $count=1,$k=0
For $i=$number to 1 Step -1
$count*=$i
Next
Local $array[$count*($c-1)]
for $i=1 to $c-1
$temp=StringSplit($c[$i],"",2)
$temp_array=_ArrayPermute($temp)
for $q=1 to $temp_array
$array[$k]=$temp_array[$q]
$k+=1
Next
Next
Return $array
EndFunc 这又涉及到你的更进一步目的:代码来自动生成这其中的*
生成这个又是干什么用呢?
happytc 发表于 2011-7-19 13:23 http://www.autoitx.com/images/common/back.gif
*.abc.com是某平台商家主页的地址,假设*为aaa的话,那么就抓取aaa.abc.com这个主页的商家信息。如果*为随机生成的话,那么就有可能重复抓取一个商家主页的信息了。 是收集电话号码,然后发垃圾短信的那种?
以下代码效率极低.慎用
3mile 发表于 2011-7-19 16:14 http://www.autoitx.com/images/common/back.gif
层级为大于4就会出现这种情况...
页:
[1]