Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 27.10.2010
Сообщений: 29

Конгруэнтные генераторы псевдослучайных последовательностей

01.10.2012, 21:51. Показов 2213. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ниже приведен генератор псевдослучайных последовательностей, который объединяет два линейных конгруэнтных генератора с периодами 231-85 и 231-249.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* "long" должно быть 32-битовым целым
static long s1 = 1;
static long s2 = 1;
 
/* MODMULT (a, b, c, m, s) рассчитывает s*b mod m при условии, что m = a*b+c и 0<=c<m
#define MODMULT(a, b, c, m, s) q = s/a; s = b*(s-a*q)-c*q; if (s<0) s+=m;
 
/* Возвращает действительное псевдослучайное значение в диапазоне (0,1) */
double CombLCG (void)
{
long q;
long z;
 
MODMULT(53668, 40014, 12211, 2147483563L, s1)
MODMULT(52774, 40692, 3791, 2147483399L, s2)
 
z = s1 - s2;
 
if(z<1)
z += 2147483562;
 
return z*4.656613e-10;
}
 
/* Инициализирует CombLCG, вызывается один раз перед использованием */
void InitLCG(long InitS1, long InitS2)
{
s1 = InitS1;
s2 = InitS2;
}
Этот генератор работает при условии, что компьютер способен представить все целые числа в диапазоне от -231+85 до 231-249. Переменные s1 и s2 глобальные и содержат текущее состояние генератора. Перед вызовом CombLCG() необходимо инициализировать состояние генератора вызовом InitLCG() и передать начальные значения s1 и s2. Для s1 начальное значение берётся из диапазона [1, 2147483562], а для s2- из диапазона [1, 2147483398]. Период генератора близок к 1018.
Необходимо провести серию экспериментов (не менее 5), изменяя длину последовательности и начальные значения s1, s2. Для каждого эксперимента вычислить математическое ожидание и дисперсию. Подскажите, как реализовать, пожалуйста. Заранее благодарю.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.10.2012, 21:51
Ответы с готовыми решениями:

Разработка программы "Генераторы псевдослучайных последовательностей"
Помогите, пожалуйста. Очень важно.

Генерация - псевдослучайные данные. Линейные конгруэнтные генераторы
добрый день, Пытаюсь выполнить задание. 1. Используя метод вычетов, сгенерировать последовательность из 1000 псевдослучайных чисел....

Генераторы псевдослучайных чисел в распределенных сетях ·
Здравствуйте.В университете задали написать статью на тему &quot;Применение генераторов псевдослучайных чисел в распределенных сетях&quot;. Не...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.10.2012, 21:51
Помогаю со студенческими работами здесь

Предсказание псевдослучайных последовательностей
Добрый день, эксперты и все обучающиеся Необходима ваша помощь, надеюсь на вашу доброту :) Есть такая задачка, &quot;пердсказание...

Генератор псевдослучайных последовательностей
Создаю еще одну тему т.к в этом разделе онлайн больше. Генератор псевдослучайных последовательностей (одно целое число в...

Ищется программа для тестирования псевдослучайных последовательностей
Здравствуйте! В рамках курсовой нужно осуществить разработку генератора псевдослучайных двоичных последовательностей с использованием...

Функции генераторы и выражения генераторы
Всем доброго времени суток, изучаю такую тему как Функции-генераторы и появился вопрос, для чего они могут пригодиться, к примеру есть...

Целые числа,Вычесление с хранением последовательностей,Двумерные массивы,Обработка последовательностей символов
Добрые люди помогите решить несколько задач очень нужна помощь! 1.Найти все простые несократимые дроби,заключённые между 0 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru