3

我必须生成两组随机矩阵,每组包含 3 个数字,范围从 2 到 10

像那样

矩阵 1:994,878,129,121

矩阵 2:272,794,378,212

两个矩阵中的数字必须大于 100 且小于 999

两个矩阵的平均值必须是 1:2 或 2:3 的比例

我的数学技能有点有限,所以我有什么想法可以做到这一点吗?

4

2 回答 2

2

为此,您必须知道每个列表中有多少个数字。我从你的例子中假设每个都有四个数字。

  1. 用四个随机数填充第一个列表。
  2. 计算第一个列表的平均值。
  3. 将平均值乘以 2 或 3/2,以用户输入为准。这是第二个列表所需的平均值。
  4. 乘以 4。这是第二个列表所需的总数。
  5. 生成 3 个随机数。
  6. 从第 4 步的总数中减去第 5 步中的三个数字的总数。这是第二个列表的第四个数字。
  7. 如果步骤 6 中的数字不在正确范围内,请从步骤 5 重新开始。

请注意,第二个列表中的最后一个数字并不是真正随机的,因为它基于列表中的其他值。

于 2008-10-27T14:31:53.247 回答
1

你有一组随机数,s1。

s1= [ random.randint(100,999) for i in range(n) ]

对于其他一些集合,s2,要具有不同的意味着它必须具有不同的范围。您可以从不同的范围内随机选择值,也可以过滤随机值以获得不同的范围。

无论您从 100 到 999 范围内选择多少个随机数,均值始终只有 550 左右。不同值的几率恰好是均值两侧的正态分布概率。

对于从同一范围内选择的值,您不能有完全不同的平均值。

于 2008-10-27T14:33:53.680 回答