有谁知道 Java 的 Random.nextInt()
是否会在一段时间后重复出现?
具体来说,是否存在这样一个数n
使得下面的两个列表相等?
List<Integer> a = new LinkedList<>();
List<Integer> b = new LinkedList<>();
for (int i = 0; i < n; ++i)
a.add(randObject.nextInt());
for (int i = n; i <= n * 2 ; ++i)
b.add(randObject.nextInt());
是否保证每个随机对象都有一个句点? (注:不同种子的对象不必具有相同的周期)
最佳答案
Does anyone know if the Java's Random.nextInt() will ever repeat itself after sometime?
是的,会的。由于生成器具有有限数量的状态,因此生成的序列具有有限周期。
Concretely, what is the number n such that the following two lists are equal?
这没有指定,取决于 Java 实现。
Is it guaranteed that there will always be such n for each Random object, regardless of what its seed is?
期限是有限的。然而,不一定每个种子都一样。
关于java - Random.nextInt() 产生的数字序列何时重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15190948/