1~1000范围的有限的随机数产生的问题
kid5 2007-06-17 10:23:02 在1~1000产生N个随机数(N为用户指定, N大于0,不大于1000),产生出来的数,不能重复,如N=3时,结果可以是1,202,454;但不能为34,43,43。
我现在的实现是,如果N=1000时,顺序产生全部的1~1000。
如果N<1000,则随机产生数,同时进行重复数过滤。
现在问题是当900<N<1000,特别是995<N<1000时,程序总是不停的产生数并判断该数已经产生过,然后继续重复上述步骤。
想请教如何改变算法,让产生过程更快。