как рандомить подскажите плиз

From
Max Alekseyev (2:5015/60)
To
Alexander Kazak
Date
2002-06-16T16:34:32Z
Area
RU.ALGORITHMS
████ OS/2        Hi, Alexander !

Replying to a message of Alexander Kazak to All:

 AK> У меня есть натуральное число N и натуральное число K<N. Как написать 
 AK> процедуру на Паскале, которая возвращает K случайных натуральных
 AK> чисел,  причём сумма их равна N?

Выбираешь случайное сочетание K-1 элементов из N-1. Например, генерируешь случайную перестановку N-1 элементов классическим образом, и отбираешь первые K-1 элемент.

Теперь по элементам 1 <= X[1] < X[2] < ... < X[K-1] <= N-1 определяешь
Y[1] = X[1]
Y[2] = X[2]-X[1]
Y[3] = X[3]-X[2]
...
Y[K-1] = X[K-1]-X[K-2]
Y[K] = N - X[K-1]

Очевидно, Y[1] + Y[2] + ... + Y[K] = N

Regards,      °°
        Max    ~

--- OS/2 Uptime:  1d 18h 42m 41s 289ms
 * Origin: Медведь выходит на охоту душить собак. (2:5015/60)