• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

限定范围,设定平均值,求随机数

互联网 diligentman 1周前 (02-18) 8次浏览

经过思考,可以转换模型,即已知数值范围[a,b],设定有x个数,数值总和为Sum。
前提条件是Sum的范围应是[ax,bx]
那么首先判断取第一数值时,x1的数值范围是多少?
假定x-1个数值都为a,则x1的取值上限为Sum-a(x-1),又已限定上限为b,则Max(x1)=Min(b,Sum-a(x-1))
同理,假定x-1个数值都为b,则x1的取值下限为Sum-b(x-1),又已限定上限为b,则Min(x1)=Max(a,Sum-b(x-1))
即x1在[Max(a,Sum-b(x-1)),Min(b,Sum-a(x-1))]范围内取值。则选取x2时,Sum1=Sum-x1,
那么在选取第i个数值时,还余下(x-i)个待选数值,Sum(i)=Sum-(x1+x2+…+x(i-1)),x(i)的取值范围应为[Max(a,Sum(i)-b(x-i)),Min(b,Sum(i)-a(x-i))]。接下来就可以用循环语句给x(i)赋值,代码如下:
Private Sub XArr(a as Double ,b as Double, Sum as Double,N as Interge)
Dim X( ) as Double
Redim X( 1 to N)
for i = 1 to N

 X(i)=RndBT(Max(a,Sum(i)-b*(N-i)),Min(b,Sum(i)-a*(N-i)),Index)     'RndBT是自定义函数,求两个数值间的随机数
 Sum=Sum-X(i)

Next
End Sub
纯手打,有错误的地方请谅解
如果大家有更好的思路或者代码我还是会给分的[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]
[url]https://book.douban.com/douli…[/url]
[url]https://movie.douban.com/doul…[/url]
[url]https://www.douban.com/doulis…[/url]
[url]https://m.douban.com/doulist/…[/url]


程序员灯塔
转载请注明原文链接:限定范围,设定平均值,求随机数
喜欢 (0)