|
1.按概率算法,大小写字母和数字每个取到的概率是一样的也就是1/62,但是原来的代码分两步取
导致取到数字的概率增大1/3*1/10=1/30,相应取到字母的概率就会变小。
2.多次测试取10万个字符,原代码分两步取得平均时间比下面一步取字符代码的时间比稍长。
.版本 2
.子程序 文本_取随机字母数字, 文本型, , 可空默认1个,支持生成指定数目随机字母数字
.参数 个数, 整数型, 可空
.局部变量 数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 文本, 文本型
.如果真 (是否为空 (个数) 或 个数 < 1)
个数 = 1
.如果真结束
.计次循环首 (26, i)
.如果真 (i ≤ 10)
加入成员 (数组, 到文本 (i - 1)) ' ‘数字0-9
.如果真结束
加入成员 (数组, 字符 (64 + i)) ' ‘大写字母A-Z
加入成员 (数组, 字符 (96 + i)) ' ‘小写字母a-z
.计次循环尾 ()
置随机数种子 ()
.计次循环首 (个数, i)
文本 = 文本 + 数组 [取随机数 (1, 62)]' ‘可以去掉置随机数种子改用汇编_取随机数()提升性能
.计次循环尾 ()
返回 (文本)
|
|