gpt4 book ai didi

random - 在 Dart 中生成唯一的随机数

转载 作者:IT王子 更新时间:2023-10-29 07:08:52 28 4
gpt4 key购买 nike

如何在 dart 中生成两个不同的随机数?

我使用下面的代码生成了两个随机数。

int rand1 = Random().nextInt(16);
int rand2 = Random().nextInt(16);
if(rand1 == rand2)
// generate new random

如何在 rand1 != rand2 之前生成新的随机数?

最佳答案

如果您需要在固定范围内有两个不同随机数,那么最简单的方法是:

 var random = Random();
var n1 = random.nextInt(16);
var n2 = random.nextInt(15);
if (n2 >= n1) n2 += 1;

这确保第一个数字可以取所有 16 个值,第二个数字可以取其余 15 个值中的任何一个,并且在随机生成器允许的情况下均匀分布。

对于 0..15 范围内的两个有序的不同数字,有 16 * 15 种可能的结果,您可能希望每个结果的可能性均等。此代码通过随机选择第一个数字,然后通过确保第二个数字在范围 [0 .. (n1 - 1)] 或范围内来选择第二个数字作为与第一个不同的数字之一来实现此目的[(n1 + 1) .. 15] ... 通过在 [0 .. 14] 范围内选择一个数字,如果 >= n1 则加一,将范围 [n1 .. 14] 移动到 [(n1 + 1) .. 15].

您可以对更多数字执行此操作,但您必须进行更多测试和添加。

关于random - 在 Dart 中生成唯一的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57657287/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com