以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]生成随机但可控的整数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192612)

--  作者:alanwu
--  发布时间:2024/7/4 20:50:00
--  [求助]生成随机但可控的整数
图片点击可在新窗口打开查看
相实现上报数量403,根据8到11,生成下图这样的数据,接近平均值+—,又不能有小数,最后生成的4条数量的和是上报数量,这个代码该怎么写?
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/7/4 21:09:00
--  
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编辑过]