随机数怎么生成不重复

随机数怎么生成不重复

问:生成不重复的随机数
  1. 答:本文主要涉及点:常用随机数生成的公式和判断是否重复。
    1.Math:(数据类型)Math.random()*(最大数-最小数+1)+最小值
    2.Random :
    Random=new Random();
    int randomNumber=random.nextInt(最大值)%(最大值-最小值+1)+1;
    3.不重复的随机数
    方式一:
    方式二:
    源码:package test;import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;public class Test4 {
    public static void main(String[] args) {
    int b=0;int r=0;Listlist=new ArrayList();
    int num=(int) ((Math.random()*8)+3);//随机生成n个随机数  《10~3》
    for(int i=0;iif(!list.contains(b)){
    list.add(b);
    System.out.println("第:"+(i+1)+"个随机数是:"+list.get(i));
    }else {i--;}
    }
    System.out.println("循环了"+r+"次");
    Iterator it=list.iterator();
    while(it.hasNext()){
    System.out.print(it.next()+" ");
    }
    }
    }
问:EXCEL RAND()公式 如何避免产生重复的随机数
  1. 答:工具/材料:Microsoft Office Excel2016版,Excel表格。
    1、首先选中Excel表格,双击打开。
    2、然后在该界面中,选中要显示随机数的单元格。
    3、再者在该界面中,公示框中输入随机数公式“=RAND()”。
    4、其次在该界面中,选中单元格右下角,向下拖动。
    5、继续在该界面中,选中要用的随机数单元格,右键点击“复制”选项。
    6、然后在该界面中,选中第二列,右键点击“粘贴”选项。
    7、然后在该界面中,选中要显示不重复的随机数的单元格。
    8、再者在该界面中,公示框中输入不重复的随机数公式“=RANK(B1,B$1:B$10)”。
    9、其次在该界面中,选中单元格右下角,向下拖动。
    10、最后在该界面中,成功显示不产生重复的随机数的单元格。
问:如何产生不重复随机数
  1. 答:首先需要使用:Randomize[number] 语句,初始化随机数生成器。如果忽略了数值参数number,Randomize自动使用Timer函数的返回值作为新的随机数种子值。然后需要使用Rnd[(number)]函数,生成小于 1 但大于或等于 0 的随机值。为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。例子:Dim MyValueRandomize ' 对随机数生成器做初始化。MyValue = Int((6 * Rnd) + 1) '生成 1 到 6 之间的随机数值。注意:Rnd函数中的参数number决定了生成随机数的方式。若想得到重复的随机数序列,可以不使用Randomize语句,使用负参数值的Rnd函数即。若想得到不重复的随机数序列,必须使用Randomize语句,而且Rnd函数的参数可以大于0或等于0或者省略,或者与Randomize语句中的number相同。实际上,你的程序已经是产生非重复的随机数序列了,只不过下面的代码有点问题:If blnseeded = False ThenRandomizeblnseeded = TrueEnd Ifblnseeded是个未声明的Variant的局部变量,程序每次调用这个函数时,始终满足等于false的条件,所以Randomize始终得到执行,加之你使用了无参的Rnd函数,所以产生的已经是随机数序列了。
随机数怎么生成不重复
下载Doc文档

猜你喜欢