Я использую метод мультипликативного датчика, то есть следующее число ищется как
. У генератора есть периодическая часть, до которой должна идти апериодическая часть. У моего генератора получается нулевая апериодическая часть, хотя такого быть по идее не может. Вот алгоритм, который я использую:
1)В цикле генерирую новое число по формуле;
2)Проверяю, есть ли это число в списке уже сгенерированных чисел. Если нет, то добавляю это число в список сгенерированных чисел. Если да, то выхожу из цикла;
Я думал, что будет как-то так:
1 3 2 6 7 9 0 2 6 7 9 0 2 6 7 9 0
То есть сначала идёт часть, которая не повторяется, а потом всё начинает повторяться с одним и тем же периодом. На деле получается так:
2 6 7 9 0 2 6 7 9 0 2 6 7 9 0
То есть всегда, при любых
,
и
я получаю генератор без апериодической части. С чем это может быть связано?