首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在给定范围内生成随机数序列?

问如何在给定范围内生成随机数序列?
EN

Stack Overflow用户
提问于 2022-01-02 11:50:32
回答 1查看 288关注 0票数 0

我试着生成一个10个随机数的列表。我有一些范围,比如:

  1. 0到9
  2. 10至99
  3. 100至999
  4. 1000至9999
  5. 10000至99999H 210H 111100000至999999。H 212G 213

如果我在(min,max)范围内生成一个随机数,其中min = 0和max = 999999使用此代码

代码语言:javascript
复制
import 'dart:math';
final _random = new Random();
   
int next(int min, int max) => min + _random.nextInt(max - min);

100000到999999之间的数字比0到9之间的数字更有可能产生。这是因为在范围(100000,999999)中比在范围(0、9)中有更多的数字。如果我选择一个从0到999999的随机数,它更有可能是在范围5)中的一个数字。

我想在给定的范围内生成10个随机数,每个范围的概率相等。

EN

回答 1

Stack Overflow用户

发布于 2022-01-03 08:23:16

我先选择范围,然后在那个范围内找出号码。

考虑:

代码语言:javascript
复制
var _rnd = Random();
int inRanges() {
  var powerOfTen = _rnd.nextInt(6);
  var min = pow(10, powerOfTen) as int;
  var max = min * 10 - 1;
  if (min == 1) min = 0; // The cases are not completely symmetric.
  return min + _rnd.nextInt(max - min);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70555701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档