生成平均值为2780,范围在1940至4400之间的78个随机数
由于平均值为2780,那么这78个数的和应该为 78 × 2780 = 216840。
为了让这78个数的范围在1940至4400之间,我们可以先生成一些在这个范围内的随机数,然后再用一些数来调整总和,使得平均值为2780。
具体的方法如下:
- 生成70个随机数,范围在1940至4400之间。
- 计算这70个数的和 sum1。
- 计算需要补充的数的个数 n = 78 - 70 = 8。
- 计算需要补充的数的总和 sum2 = n × 2780 - sum1。
- 生成8个随机数,范围在 sum2 / 8 至 2 × sum2 / 8 之间。
- 将这78个数按照随机顺序排列,即为所求。
以下是Python代码实现:
import random
# 生成70个随机数
nums = [random.randint(1940, 4400) for _ in range(70)]
# 计算这70个数的和
sum1 = sum(nums)
# 计算需要补充的数的个数
n = 78 - 70
# 计算需要补充的数的总和
sum2 = n * 2780 - sum1
# 生成8个随机数
extra_nums = [random.randint(sum2 // 8, 2 * sum2 // 8) for _ in range(n)]
# 将这78个数按照随机顺序排列
result = nums + extra_nums
random.shuffle(result)
print(result)
原文地址: https://www.cveoy.top/t/topic/lfcF 著作权归作者所有。请勿转载和采集!