Rozważ liczbę całkowitą modulo, qgdzie qjest liczbą pierwszą, generator jest dowolną liczbą całkowitą 1 < x < q, która x^1, x^2, ..., x^(q-1)obejmuje wszystkie q-1liczby całkowite między 1i q-1. Weźmy na przykład liczby całkowite modulo 7 (które piszemy jako Z_7). Następnie 3, 3^2 mod 7 = 2, 3^3 = 27 mod 7 = 6, 3^4 = 81 mod 7 = 4, 3^5 = 243 mod 7 = 5, 3^6 = 729 mod 7 = 1obejmuje wszystkie wartości 3, 2, 6, 4, 5, 1obejmuje wszystkie liczby całkowite 1..6zgodnie z wymaganiami.
Zadanie polega na napisaniu kodu, który pobiera dane wejściowe ni generuje generator Z_n. Oczywiście nie możesz użyć żadnej wbudowanej biblioteki ani biblioteki, która to zrobi.
Jedynym ograniczeniem wydajności kodu jest to, że musisz go przetestować do końca n = 4257452468389.
Zauważ, że 2^n oznacza 2to moc n. To ^reprezentuje potęgowanie.
1 < x < qsprawia, że wyzwanie jest o wiele łatwiejsze imo.