Betrachten Sie die Ganzzahlen modulo, bei q
denen q
es sich um Primzahlen handelt. Ein Generator ist eine beliebige Ganzzahl 1 < x < q
, x^1, x^2, ..., x^(q-1)
die alle q-1
Ganzzahlen zwischen 1
und abdeckt q-1
. Betrachten Sie zum Beispiel die ganzen Zahlen modulo 7 (als die wir schreiben Z_7
). Dann 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 = 1
deckt alle Werte 3, 2, 6, 4, 5, 1
deckt alle Zahlen 1..6
nach Bedarf.
Die Aufgabe besteht darin, Code zu schreiben, der eine Eingabe übernimmt n
und einen Generator für ausgibt Z_n
. Sie können natürlich keine eingebaute Bibliothek verwenden, die dies für Sie erledigt.
Die einzige Einschränkung für die Leistung Ihres Codes besteht darin, dass Sie ihn vollständig getestet haben müssen n = 4257452468389
.
Beachten Sie, dass 2^n
dies 2
die Leistung von bedeutet n
. Das ist ^
Potenzierung.
1 < x < q
macht die Herausforderung imo viel einfacher.