谁能真正创建一个唯一的随机数 无论数字多少 都不会 永远不会重复?
谁能真正创建一个唯一的随机数 无论数字多少 都不会 永远不会重复?
谁能真正创建一个唯一的随机数 无论数字多少 都不会 永远不会重复》?
真正的随机数是不保证不重复的,你的命题都是错的,所以是没结果的。
回过头来,如果只是需要一个永不重复的数字这个你就累加好了。
永远不会重复.不知道你听过猩猩敲键盘的推论没.
让一只大猩猩在那里无意义的敲键盘.总有一天他会敲出一篇哈姆雷特.
不过我觉得你要的可能是guid.
不可能 没有真正的不重复
@itwwg: 那你问这个问题是什么意思?
PS:你尝试理解了猴子敲键盘这个推论的意思不?
世上没有永动机、也就没有什么是一成不变的
可以用技巧性解决,比如生成0到n的数组再随机排序,或set记录前面生成的数据
那也不能保证他们不重复
判断是否重复,重复了继续创建
那也不能保证他们不重复
随机数重复是有可能,除非你自己定一套规则
集合数量等于1,让你创建多次并且不重复 —— 这种数学模型还没研究出来。
你可能没有 明白我的意思 。我的意思是 平时写的算法 创建唯一的随机数 算法,,能正在创建唯一吗
@itwwg: guid,如果量大就自行构建guid,把随机位调大,如果细分到机器或设备细节就再按机器或设备唯一编号,如果多系统同时生成时钟统一性请使用卫星时间(精细度当然越细越好,但取决于各个设备)。然这样仍然可能存在碰撞 —— 每生成时检查存在性即可(存在则重新创建)。
@花飘水流兮: 判断了 存在 再重新创建 还有可能重复的 ,没有一种算法 能保证 不重复?
@itwwg: 没有那样的算法。把时间精密度提高,随机长度变大等等只可以降低碰撞概率。就像md5等等只有相对,没有绝对。
@花飘水流兮: 恩要的就是这么个回答
没有不可能,只是你给不起钱而已。
所有的需求都有相应的价码,1后面跟10万个0的美刀你给得起么?
答非所问啊 大叔,您老该退休了吧
var arr = new Array(100);
for (var i = 0; i < arr.length;) {
var arr1 = Math.round(Math.random() * 99 + 1);//生成随机数(取整数)
if (arr.indexOf(arr1) == -1) { //判断数组中是否存在已生成的随机数
arr[i] = arr1; //如果没有把它添加到数组中
i++;
}
}
document.write(arr);
这个也不能保证的
@itwwg: 你自己可以试一试 如果你要想增大数字把数组改大就可以了
http://www.cnblogs.com/huzi007/p/6222218.html 这里有你需要的
new date().getTime();绝对不会重复
你爹会。。。。。
你爷不会