注册 登录
编程论坛 VB6论坛

生成不重复乱码数据,求算法

沉默的痞子 发布于 2015-12-14 10:17, 1273 次点击
类似:
157670098951
385984027477
347346003281
422009292843
403372554656
221708070004
165758668629
424691601674
556881403620
要求:
1,可以选择字母,数字,大小写
2,绝对不能重复
3,长度可以选择8-20位
3 回复
#2
wmf20142015-12-14 10:31
只能使用伪随机数,因为你的长度最大到20位,如果真随机,则相当耗时。
#3
沉默的痞子2015-12-14 10:39
回复 2楼 wmf2014
有思路么?
#4
风吹过b2015-12-14 12:19
先三个样本,分别是
小写字母,大写字母,数字。
然后根据选择,把对应的样本拼起来。其中,如果选择数字+字母,需要确定权重。也就是 一组字母+几组数字 拼起来。

根据需要产生多少组数据,建立一个数组,
产生时,然后循环来生成每一位。
产生一个指定范围内的数字,这个范围是样本的总长度,然后到样本中截取这个位置的字符。
这个生成一个数据后,与数组中已存在的数据相比较,如果找到重复的,抛弃,如果不重复,保存。
1