6 / 6 / 0
Регистрация: 11.04.2011
Сообщений: 88
1

Линейный конгруэнтный метод

08.04.2013, 21:33. Показов 3412. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, есть следующий алгоритм для генерации псевдослучайных чисел:

Последовательность получается с использование следующей рекуррентной формулы: Xn+1=(a* Xn+c) mod m. При этом должны выполняться следующие условия:
  1. Числа c и m взаимно простые;
  2. a-1 кратно p для каждого простого p, являющегося делителем m;
  3. Если m кратно 4, то и a-1 должно быть кратно 4.

Вот мой код, в котором где-то есть ошибка и, возможно, их много:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
   double[] values = new double[1000];
            double[] mas = new double[1000];
            double a = Convert.ToDouble(textBox7.Text);
            double x = Convert.ToDouble(textBox8.Text);
            double c = Convert.ToDouble(textBox9.Text);
            double m = Convert.ToDouble(textBox10.Text);
            int p = 2; //здесь по сути должны быть все простые числа, 
                         //но для примера ввел только одно
            for (int i = 0; i < 1000; i++)
            while (c != m)
            {
                if (c > m)
                    c = c - m;
                else m = m - c;
                if (c == 1) //простые
                    if ((a - 1) % p == 0)
                        if (m % p == 0)
                            if (m % 4 == 0)
                                if ((a - 1) % 4 == 0)
 
                                    values[i] = (a * x + c) % m;
            }
Буду очень благодарен, если кто-то за что-то зацепится и подскажет!

Спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2013, 21:33
Ответы с готовыми решениями:

Линейный конгруэнтный метод генерации псевдослучайных чисел. Рекурсия
Товарищи, здравствуйте! Наткнулся на следующую задачу: &quot;Линейный конгруэнтный метод генерации...

Конгруэнтный ГПЧ. Задача: подобрать формулу, чтобы в листбоксе и гистограмме числа распределялись равномерно
Так-то все кошерно работает, только единица выпадает намного чаще. При 100 000-чах прогонов,...

Линейный конгруэнтный метод
Здравствуйте, В общем нужно написать программу, которая будет считать (картинка прилагается)....

Линейный конгруэнтный генератор
Здраствуйте. В универе задание: запрограммировать линейный конгруэнтный генератор на java. Не могу...

0
08.04.2013, 21:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2013, 21:33
Помогаю со студенческими работами здесь

Линейный конгруэнтный генертор псевдослучайных чисел (ГПСЧ)
Помогите пожалуйста сделать программу!) В отдельном модуле определить: подпрограммы для...

Линейный Метод Наименьших Квадратов, ошибка в расчетах
Разработка программы аппроксимации табличной функции степенным рядом( линейный метод наименьших...

Конгруэнтный генератор
Помогите. Проблема в следующем: нужно написать программу, которая генерирует псевдослучайную...

Мультипликативный конгруэнтный генератор
Нужно написать мультипликативный конгруэнтный генератор, параметры x0=911, a=27,диапозон значений...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru