Здравствуйте! Моя задача состоит в том, чтобы реализовать линейный конгруэнтный ГПСЧ ( генерация псевдослучайных чисел )при n=24 (то есть m=2 в степени 24). Сам метод мне понятен.
Но обязательным условием задания является реализация двух возможностей для пользователя :
1. Получать последовательность постепенно, по одному элементу
2. Получать ту же самую последовательность сразу целиком
Входные данные для всех выводов должны быть одинаковыми, но с возможностью изменения для генерации другой последовательности (при перезапуске программы). Результаты 1. и 2. взаимодействий нужно иметь возможность зрительно сравнить для одной последовательности.
При этом должно быть реализовано две функции: генерирующая (назовем её f1) , она задаёт значения переменным a, b, c, m; вторая - функция метода ГПСЧ (f2) должна выполнять генерацию элементов последовательности с помощью формулы, которая содержит a,b,c,m, значения которым задала функция f1.
Я планирую реализовать f1, а действия f2 разделить на две f2.1 (для генерации последовательности поэлементно) и f2.2 (для генерации последовательности целиком ).
Т.е. мне нужно один раз сгенерировать входные данные, а затем работать с ними, пока пользователю не понадобится другая последовательность с другими исходными данными. Я не понимаю, как сделать так, чтобы f2.1 можно было вызвать несколько раз, сколько нужно пользователю, но при этом сохранить данные, сформированные в f1.
Подскажите, пожалуйста, как правильно реализовать взаимодействие пользователя с программой, чтобы все условия задания соблюдались?
Но обязательным условием задания является реализация двух возможностей для пользователя :
1. Получать последовательность постепенно, по одному элементу
2. Получать ту же самую последовательность сразу целиком
Входные данные для всех выводов должны быть одинаковыми, но с возможностью изменения для генерации другой последовательности (при перезапуске программы). Результаты 1. и 2. взаимодействий нужно иметь возможность зрительно сравнить для одной последовательности.
При этом должно быть реализовано две функции: генерирующая (назовем её f1) , она задаёт значения переменным a, b, c, m; вторая - функция метода ГПСЧ (f2) должна выполнять генерацию элементов последовательности с помощью формулы, которая содержит a,b,c,m, значения которым задала функция f1.
Я планирую реализовать f1, а действия f2 разделить на две f2.1 (для генерации последовательности поэлементно) и f2.2 (для генерации последовательности целиком ).
Т.е. мне нужно один раз сгенерировать входные данные, а затем работать с ними, пока пользователю не понадобится другая последовательность с другими исходными данными. Я не понимаю, как сделать так, чтобы f2.1 можно было вызвать несколько раз, сколько нужно пользователю, но при этом сохранить данные, сформированные в f1.
Подскажите, пожалуйста, как правильно реализовать взаимодействие пользователя с программой, чтобы все условия задания соблюдались?