Вниз
Скачать: CL | DM;

массив случайных чисел заданной суммы   Найти похожие ветки 

← →
картман ©   (2012-01-16 12:33) [0]

Всем доброго дня!
Как сделать массив случайных чисел, чтобы сумма элементов была равна определенному числу - в моем случае 1=одному(приближенно)?


← →
Сергей М. ©   (2012-01-16 12:40) [1]

как обычно - с использованием Random()


← →
OW ©   (2012-01-16 12:41) [2]


>  с использованием Random()

отнимая от заданного числа


← →
TUser ©   (2012-01-16 12:41) [3]

простейший способ

summ := 1;
for i := 1 to n do
 num := random() * summ;
 writeln (num);
 summ := summ - num;

а вообще, зависит, наверное, от того, какие тебе требуются свойства распределений, скажем, надо ли, чтобы все числа (1е, 2е, ...) были распределены равномерно


← →
картман ©   (2012-01-16 12:42) [4]


> с использованием Random()


>
> отнимая от заданного числа

распределение фиговое получится


← →
картман ©   (2012-01-16 12:44) [5]


> какие тебе требуются свойства распределений,

не знаю)))


← →
Ega23 ©   (2012-01-16 12:45) [6]

[0..length-2] = random
[length-1] = 1 - Sum([0..length-2]).  :)

и сработает точно для целых чисел.


← →
Dimka Maslov ©   (2012-01-16 12:50) [7]

1. Генерируем массив случайных чисел.
2. Вычисляем сумму его членов
3. Делим заданное число на полученную величину, получаем множитель.
4. Умножаем все члены массива на множитель.
5. Это называется "нормализация"


← →
Сергей М. ©   (2012-01-16 12:51) [8]


> картман ©   (16.01.12 12:42) [4]


да просто наштампуй сколько нужно элементов с нужным распределением, а потом скорректируй один элемент так чтобы подогнать под условие)


← →
CRLF   (2012-01-16 12:51) [9]

делай массив случайных, затем нормируй


← →
картман ©   (2012-01-16 12:53) [10]

ага, спасибо


← →
KilkennyCat ©   (2012-01-16 13:42) [11]


> а потом скорректируй один элемент так чтобы подогнать под
> условие

- а что это за графа "прокатило - 10 000 руб" ?
- не прокатило, вычеркиваем....

(с) автосервисный анекдот



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.004 c
15-1322495603
И. Павел
2011-11-28 19:53
2012.05.20
Баги Fire Monkey


15-1326395711
Jeer
2012-01-12 23:15
2012.05.20
Опять про Фобос..


2-1326722424
Cobalt
2012-01-16 18:00
2012.05.20
TTabSet - Hint


15-1326499809
KilkennyCat
2012-01-14 04:10
2012.05.20
новый вид памяти


15-1326381807
sdram
2012-01-12 19:23
2012.05.20
Быстрое удаление выбранных записей из ListBox




   Наверх