我需要创建一个随机整数数组,它们的总和是 1000000,这些数字的平均值是 3。数组中的数字可以重复,数组的长度可以是任意数字。
我能够找到随机整数数组,它们的总和为 1000000。
ArrayList<Integer> array = new ArrayList<Integer>();
int a = 1000000;
Random rn = new Random();
while (a >= 1)
{
int answer = rn.nextInt(a) + 1;
array.add(answer);
a -= answer;
}
但是,我不知道如何找到平均数为 3 的随机数。
最佳答案
这在数学上是不可能的:
您正在寻找 n 个值,它们的总和为 1000000,它们的平均值为 3,即 1000000/n。因为 n 只能取整数值,所以这是不可能的。
关于java - java中具有固定平均值的随机整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29907493/