生成满足约束的随机数的方法

生成满足约束的随机数的方法

第一种问题和方法

有三个变量   x 1 , x 2 , x 3 \ x_1,x_2,x_3  x1x2x3
生成满足约束的值:
  x 1 + x 2 + x 3 = n \ x_1+x_2+x_3=n  x1+x2+x3=n
  a 1 &lt; x 1 &lt; b 1 , a 2 &lt; x 2 &lt; b 2 , a 3 &lt; x 3 &lt; b 3 \ a_1&lt;x_1&lt;b_1 , a_2&lt;x_2&lt;b_2,a_3&lt;x_3&lt;b_3  a1<x1<b1,a2<x2<b2,a3<x3<b3
思路:
1、   a 3 &lt; x 3 &lt; b 3 \ a_3&lt;x_3&lt;b_3  a3<x3<b3,所以   a 3 &lt; n − x 1 − x 2 &lt; b 3 \ a_3&lt;n-x_1-x_2&lt;b_3  a3<nx1x2<b3

2、由1得,   n − x 1 − b 3 &lt; x 2 &lt; n − x 1 − a 3 \ n-x_1-b_3&lt;x_2&lt;n-x_1-a_3  nx1b3<x2<nx1a3

3、由2得,   n − x 1 − b 3 &gt; a 2 , n − x 1 − a 3 &lt; b 2 \ n-x_1-b_3&gt;a_2,n-x_1-a_3&lt;b_2  n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值