【发布时间】:2015-07-06 14:23:42
【问题描述】:
我需要创建一个随机整数数组,它们的总和为 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 的随机数。
【问题讨论】:
-
我不明白你在找什么,请强调你的问题
-
有随机数范围吗?他们都应该是积极的吗?是否包括零?
-
@RoeyGolzarpoor 抱歉,如果问题解释得不够清楚。哪一部分没看懂?简而言之,我需要生成随机数,它们的总和为 1000 000,它们的平均值(它们的总和除以它们的数量)为 3。
-
@Bohemian,他们应该都是积极的。
-
如果总和是 1000000,并且平均值必须是 3,那么您的数组必须有 333333 个元素(不精确,但尽可能接近)。
标签: java arrays algorithm random