|
发表于 2013-1-15 11:23:00
|
显示全部楼层
回复 4# netegg
楼主当然不是想提出一个不可能的任务让大家去解决,可能是表述上有些歧义~~
楼主上面有两个关键的字眼:"死循环"和"递增",他没有给出更多的解释,所以我们都只能猜测:
因为他前面已经说了,想过比对已有账号,说明这里的"死循环"并不是指账号"重复",那么只可能是"范围上的重复"(即,因为是伪随机,产生的数据完全有可能只是在一个定义的大范围里的小范围里产生,如果也不是这个意思,那么只有上帝和楼主自己知道了)
好了,产生的数字串被定义在某个范围内,后面再产生样本就会越来越困难(理论上,你的函数样本发生器的随机性越好,生成数据越困难,并且随着时间的推移,困难会成几何级数增长,到某个临界点,就几乎完全无法再输出样本:因为在输出之前,你必须检查这个样本是否已经存在,并且很明显,已经产生的样本越多,那么新产生的那个样本存在于"已有样本"中的可能性就越大)
其次是"递增",如果范围不被扩大,那么当样本足够多时,必须会产生重复,比如:
在有N个元素的集合中,取出N+1个各重复的元素,它的不可能性是显而易见的~~
综上所述,这是个"Impossible Mission" |
|