在vb中怎么随机产生不重复的数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vb中怎么随机产生不重复的数字相关的知识,希望对你有一定的参考价值。

产生不重复的,需要在程序里保存一个已经生成的数字列表。每次随机生成的时候就在之中搜索有无同样的,如果有,就重新生成。
例:
假如要生成5个数字,则
include
<time.h>
include
<stdlib.h>
int
numgen[5]
=
0,
0,
0,
0,
0;
int
index
=
0;
bool
isgenerated(int
newnum)

for(int
i=0;
i<index;
i++)

if(numgen[i]
=
newnum)
return
true;

return
false;

void
main()

srand((unsigned)time(null));
int
newnum
=
rand();
for(index
=
0;
index
<
5;
index++)

while(!isgenerated(newnum))
newnum
=
rand();
numgen[index]
=
newnum;

参考技术A Rnd()是随机的,但不能保证不重复吧。不过一般应用也够了。在前面加上一个Randomize()
如果非要不重复的。有一个笨办法,可以用一个数组记录下已经产生的数,下次出数的时候跟数组内的内容进行比对,如果重复再重新产生一个随机数。

JAVA中怎么随机产生一个不重复的四位数

//题主估计想问产生一个四个不同数字的四位数//
//首先千位不为0
String number=String.valueOf((int)(Math.random()*9+1));
//再产生其它三位数
for(int i=0;i<=2;)
String newnumber=String.valueOf((int)(Math.random()*9));
if(!number.contains(newnumber))
number=number+newnumber;
i++;


System.out.println(number);
参考技术A (int)((Math.random()*9+1)*1000)随机四位数
类似的后面1000的位数增加到几位就是随机几位数
参考技术B (int)((Math.random()*9+1)*1000)

以上是关于在vb中怎么随机产生不重复的数字的主要内容,如果未能解决你的问题,请参考以下文章

.net 下用C#产生一个永不重复10位随机数

VBS产生随机不重复的数字

MATLAB如何把n个数不重复地随机分为m组

如何让C#产生不重复的随机数

java 一次生成一个无重复随机

怎么用Java产生不重复的邀请码