Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
1

Мультипликативный конгруэнтный генератор

14.11.2018, 15:25. Просмотров 891. Ответов 11
Метки нет (Все метки)

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

Добавлено через 25 минут
x0 это стартовое или начальное значение
а это не нулевой множитель
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2018, 15:25
Ответы с готовыми решениями:

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

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

Шифрование методом квадратичный конгруэнтный генератор
Добрый день! Ребята, спасайте. Нужно написать программу которая шифрует методом квадратичный...

Мультипликативный кроссворд
Мультипликативный кроссворд Тур II, задача 4 Наступил далекий 3102 год. Уже все классические...

11
1469 / 817 / 357
Регистрация: 07.04.2017
Сообщений: 3,316
14.11.2018, 16:29 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function Generate(x0, a: cardinal): sequence of cardinal;
begin
  while true do
  begin
    yield x0;
    x0 *= a;
  end;
end;
 
begin
  Generate(911, 27)
  //.Take(100)//раскомментируйте, если вам нужно определённое кол-во элементов
  .PrintLines;
end.
Добавлено через 3 минуты
P.S. я делал с расчётом что диапазон значений всё же 0-4294967295, потому что число 4294967296 не помещается в cardinal, а значит пришлось бы ради 1 возможного значения использовать uint64.
1
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
14.11.2018, 16:36  [ТС] 3
если не сложно поясните пожалуйста строки 6,1
0
1469 / 817 / 357
Регистрация: 07.04.2017
Сообщений: 3,316
14.11.2018, 16:42 4
Заходим на pascalabc.net и видим:
1
Миниатюры
Мультипликативный конгруэнтный генератор  
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
14.11.2018, 16:52  [ТС] 5
разобрался , что значит *= ?
0
1469 / 817 / 357
Регистрация: 07.04.2017
Сообщений: 3,316
14.11.2018, 16:53 6
Pascal
1
x0 *= a
Это то же самое что
Pascal
1
x0 := x0 * a
Такие же сокращения есть и для +,-,/
0
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
14.11.2018, 16:54  [ТС] 7
Спасибо
0
Aimez-vous les baguettes?
192 / 25 / 27
Регистрация: 25.10.2017
Сообщений: 165
14.11.2018, 16:54 8
Цитата Сообщение от kalanda Посмотреть сообщение
разобрался , что значит *= ?
lvalue = lvalue * rvalue;

Не увидел ответ Sun_Serega
0
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
14.11.2018, 17:06  [ТС] 9
что дает число 27 ?
Pascal
1
Generate(911, 27)
0
1469 / 817 / 357
Регистрация: 07.04.2017
Сообщений: 3,316
14.11.2018, 17:09 10
Вы сами писали в задании:

Цитата Сообщение от kalanda Посмотреть сообщение
a=27
0
0 / 0 / 1
Регистрация: 06.02.2018
Сообщений: 307
14.11.2018, 17:11  [ТС] 11
можете сказать пожалуйста что такое ненулевой множитель? просто в интернете нету описания
0
1469 / 817 / 357
Регистрация: 07.04.2017
Сообщений: 3,316
14.11.2018, 17:16 12
Плохо ищете. Я вообще не знал что это за генератор, до того как вы запостили это задание.

Это просто коэффициент, полученный каким то сложным способом.

Если я правильно понимаю, этот алгоритм это 1 из способов делать псевдослучайные числа. Вот только вместо 911 обычно берут System.DateTime.Now.Ticks или полученное от пользователя зерно (сид), чтоб числа каждый раз получались новые.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2018, 17:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Мультипликативный метод
Мультипликативный метод. Широкое распространение получил мультипликативный метод формирования...

Поиск, использующий мультипликативный критерий
Доброе время суток! Подскажите, почему первый элемент никогда не находится? static void Main()...

Мультипликативный шифр как расшифруется и дешифруется ?
Пожалуйста помогите мне..

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.