将数字拆分为多个范围

Kra*_*ken 5 c# random algorithm numbers distribution

我试图将一个数字分成适合预定义范围的较小数字,但我似乎无法正确使用该算法。我正在使用 C#。

例子

将20拆分为三个数字,其中数字必须符合以下范围:1-3、3-10 和 0-15。最终数字可能如下所示:1,5,14 或 2,3,15

另一个示例可以是将100拆分为适合以下范围的四个数字:0-10, 0-10, 0-40, 0-40。结果自然是10,10,40,40。在相同范围内拆分 90 可能会得到 5、8、38、39 等。

你能把我踢向正确的方向吗?

(不,这不是作业,而是个人项目)

小智 0

您可以编写一个程序,仅尝试对允许范围内的可能数字进行求和,并希望结果是正确的,如果结果错误则回溯。虽然它的效率很低...