gpt4 book ai didi

java - 是否可以在 Mersenne Twister RNG (Java) 中指定 nextInt 的上限和下限

转载 作者:行者123 更新时间:2023-12-02 03:26:53 26 4
gpt4 key购买 nike

我需要在 Java/Kotlin(适用于 Android)中生成随机数,特别是使用 Mersenne Twister 算法。我尝试过使用 Apache commons-math Mersenne Twister 实现,它非常适合生成随机整数。但是我需要为这些指定一个相当小的范围,整数必须在 1 到 100 之间。

似乎不可能用 Apache 实现来指定上限和下限。有谁知道 Java/Kotlin 的任何替代 Mersenne Twister 选项接受生成的 nextInt 的边界?

最佳答案

据我所知,您可以将生成的 int 的上限传递给 nextInt 方法,因此可以编写这样的简单扩展函数:

fun MersenneTwister.nextInt(min: Int, max: Int) = min + nextInt(max - min)

请注意,像 MT 的 nextInt 结果不包含上限,因此如果需要此行为,您可能需要向 nextInt 的参数添加 1。

另请注意,我没有很好地测试此功能,所以在使用之前请自行测试。

关于java - 是否可以在 Mersenne Twister RNG (Java) 中指定 nextInt 的上限和下限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56903791/

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