Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.05.20;
Скачать: 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 вся ветка

Текущий архив: 2012.05.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.006 c
2-1326617501
3asys
2012-01-15 12:51
2012.05.20
Сообщение о добавлении в таблицу новой записи


2-1326809483
Alexander123
2012-01-17 18:11
2012.05.20
чтение массива double с помощью TFileStream


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


2-1322308094
3asys
2011-11-26 15:48
2012.05.20
Передача видео и звука с помощью Indy


2-1325596441
serhiyiv
2012-01-03 17:14
2012.05.20
Laptop s TouchPad