¿Cómo elegir n números más pequeños que z de suma s? ¿Puedo hacer que cada selección tenga la misma probabilidad?

Sumas (s, n, z):
Supongo que todos los n números deben estar en [math] \ mathbb {N} ^ + [/ math] y que es posible una solución, [math] n \ le s \ le n \ cdot z [/ math], y que los números [math] n [/ math] deben devolverse como un conjunto ordenado.

  1. Si [math] n = 1 [/ math], entonces devuelve [math] \ left (s \ right) [/ math].
  2. deje que [math] x [/ math] sea un número aleatorio entre [math] \ max \ left \ {s- (n-1) z, z \ right \} [/ math] y [math] \ min \ left \ {s- (n-1), z \ right \} [/ math]
  3. return [math] \ left (x \ right) + Sums \ left (sx, n-1, z \ right) [/ math]

Actualmente no todas las soluciones tienen la misma probabilidad; Puede calcular la probabilidad de cada posible [matemática] x [/ matemática] suponiendo que todas las soluciones deben tener la misma probabilidad y luego pesarla al seleccionar [matemática] x [/ matemática].