в идеале все должно быть так, но на деле часто виснет
function funk(a, b, c){
var part = a-((b-1)*c);
var q = 0
for (i=1; i<b; i++){
var number = []
number[i] = Math.floor(Math.random()*part)
while(number[i] <= c){
number[i] = Math.floor(Math.random()*part)
}
q= q+number[i]
part = a - q - (b-i-1)*c
var lastnam = a - q
alert(number[i])
}
alert(lastnam)
}
funk(90, 3, 5)
Высчитываем первоначальное максимальное значение числа a-((b-1)*c).
Где а- число, б - количество частей. с - мин. значение части = part.
По ходу выпадания чисел part корректируется в зависимости от выпавших перед ним значений part = a - q - (b-i-1)*c . Где q - cумма всех предыдущих выпаданий чисел.
Мне просто интересно, насколько верен мой подход с программной точки зрения, не разбираюсь еще в этих материях.