Вниз
Скачать: 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.005 c
2-1326880929
gvozdkoff
2012-01-18 14:02
2012.05.20
чтение из файла и проблема при его перезаписи


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


15-1320098450
Бездомный
2011-11-01 01:00
2012.05.20
Драйвер виртуальной звуковой карты


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


2-1326697088
Nikitos
2012-01-16 10:58
2012.05.20
Перевод чисел из арабских в почтовый индекс




   Наверх