тут не спор, а дискуссия...
Ну вот давайте подведем итог что ли.
*Вариант 1 (т.е. пост 2)
Достоинства:
- моментальное получение числа по рандому (взятие по индексу из массива), т.к. не нужно крутить циклы.
- Можно доработать так, чтобы не трогать исходный массив, а формировать "рабочий". При чем, только после изменения входных данных (чилса / их вес).
Недостатки:
- Если много чисел и у них задан огромный вес, то формирование "рабочего" массива будет ооочень большим, а в памяти он займет ооочень много места.
*Вариант 2 (т.е пост 6 и ниже).
Достоинства:
- Достаточно удобно, не требуются временные массивы
- Потребуется меньше памяти во время выполнения
Недостатки:
- При каждом рандоме нужно крутить цикл с суммированием веса, чтобы понять, какое число выпало
По-моему стандартная ситуация - мозги vs память