相实现上报数量403,根据8到11,生成下图这样的数据,接近平均值+—,又不能有小数,最后生成的4条数量的和是上报数量,这个代码该怎么写?
Dim 上报数量 As Integer = 403
Dim 起始时间 As Integer = 8
Dim 结束时间 As Integer = 11
Dim 行数 As Integer = 结束时间 - 起始时间 + 1
Dim 平均值 As Integer = Math.Floor(上报数量 / 行数)
Dim 余数 As Integer = 上报数量 - 行数 * 平均值
Dim sum As Integer
For i As Integer = 起始时间 To 结束时间 - 1 '除最后一行之外的处理
Dim n As Integer = 平均值 + Rand.Next(0, 余数)
sum = sum + n
Output.Show(i & ",数量=" & n)
Next
Output.Show(结束时间 & ",数量=" & (上报数量 - sum)) '最后一行
[此贴子已经被作者于2024/7/4 21:28:28编辑过]