当前位置: 首页 > 知识库问答 >
问题:

如何生成每个随机数之间有特定间隔的随机数

凌波峻
2023-03-14

我试图生成8个范围内的随机数,例如1到100。我生成的很好,但我需要生成随机数,所有生成的随机数和最小-最大范围值之间的特定差异被排除。假设在1到100中,我必须生成2,12,22,32,42,52,62,72的数字。不管怎样,我都可以生成这样的随机数。

提前谢谢。

共有2个答案

羊舌胡非
2023-03-14

在提供的示例中,N=100,随机数R=8,间隔V=10。序列以F(第一个数字,这是随机的)开始。

顺序是F,F V,F 2*V。。。F(R-1)*V

这个序列占据空间S=(R-1)*V1空间。在这个例子中,范围是2到72,或者S=71。

您还要求排除mix和max(1和100)。

所以允许的随机空间左L=N-S-2=27。

所以F成为1到27之间的随机数,然后加1来避免最小值。

一旦你有了F,顺序如下。

编辑:如果没有提供,你也可以随机计算V(参见S的公式;V根据N和R得出)

鲁英卫
2023-03-14

您可以尝试生成一个随机数,然后将初始值添加到输出中。我从中改编了一个例子http://www.javapractices.com/topic/TopicAction.do?Id=62来解决你的问题。

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        int ini = 1;
        int end = 100;
        Random random = new Random();
        for (int i = 0; i < 8; i++){
            // for this particular example we must add one to ini
            // so that ini is excluded from the output
            generateRandomInt(ini + 1, end, random);
        }
    }

    private static void generateRandomInt(int ini, int end, Random random){
        int range,randomInt,randomNumber;
        range = end - ini;
    randomInt = random.nextInt(range);
        randomNumber =  randomInt + ini;    
        System.out.println("Generated : " + randomNumber);      
    }
}
 类似资料:
  • 问题内容: 我想知道如何在两个给定值之间生成一个随机数。 我可以使用以下内容生成一个随机数: 但是,如何生成0到100(含)之间的随机数? 问题答案: 你可以使用例如 r.nextInt(101) 对于更通用的“在两个数字之间”,请使用: 这会为你提供介于10(含)和100(不含)之间的随机数

  • 问题内容: 有没有一种方法可以在JavaScript中生成指定范围内的随机数(例如1到6:1、2、3、4、5或6)? 问题答案: 重要 以下代码仅在最小值为时才有效。不适用于除以外的最小值。 如果要获得1( 且只有1 )和6 之间的随机整数,则应计算: 哪里: 1是起始号码 6是可能的结果数(1 +开始 (6) -结束 (1) )

  • 我在python中使用numpy模块来生成随机数,当我需要在[a, b]等连续间隔内生成随机数时,我会使用 但是现在我需要在区间[a,b]和[c,d]中生成一个统一的随机数,我该怎么办? 我想生成一个在所有区间长度上均一的随机数,我不选择概率相等的区间,然后在区间内生成一个随机数,如果[a, b]和[c, d]长度相等,这种使用没有问题,但是当区间长度不相等时,这种方法生成的随机数不是完全均匀的。

  • 本文向大家介绍如何生成一个随机数?相关面试题,主要包含被问及如何生成一个随机数?时的应答技巧和注意事项,需要的朋友参考一下  

  • 问题内容: 如何在Python中生成0到9(含)之间的随机整数? 例如, 问题答案: 尝试:

  • 问题内容: 我还没有找到一个函数来生成在一定范围内给定长度的随机浮点数组。 我看过随机抽样,但是似乎没有函数可以满足我的需要。 random.uniform接近,但它仅返回单个元素,而不返回特定数字。 这就是我所追求的: 这将返回在range中均匀分布的50个随机非唯一浮点数(即允许重复)的数组。 有这样的功能吗? 问题答案: 适合您的用例: 2019年10月更新: 虽然仍支持语法,但看起来API