Форум: "Прочее";
Текущий архив: 2012.05.20;
Скачать: [xml.tar.bz2];
Внизмассив случайных чисел заданной суммы Найти похожие ветки
← →
картман © (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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c