如何生成介于1至n之间的随机数(大于0的正整数),并且这些数总和等于n?
例如,当n=10时,以下是示例结果:
每个排列出现的概率应该相同,但我不需要它在数学上是精确的。所以如果由于某些模数错误导致概率不相同,我并不在意。
有没有一个通用算法可以解决这个问题?我只发现了一些固定值数量的算法(即,给我恰好总和为n的m个随机数)。
例如,当n=10时,以下是示例结果:
10
2,5,3
1,1,1,1,1,1,1,1,1,1
1,1,5,1,1,1
每个排列出现的概率应该相同,但我不需要它在数学上是精确的。所以如果由于某些模数错误导致概率不相同,我并不在意。
有没有一个通用算法可以解决这个问题?我只发现了一些固定值数量的算法(即,给我恰好总和为n的m个随机数)。