In de eindige verzameling \(Z_n = \{0,1,2,...,n-1\}\) kan je getallen optellen en vermenigvuldigen modulo \(n\).

Bijvoorbeeld in \(Z_{10}\): \(6 + 6 = 12 = 2\) en \(6 \times 6 = 36 = 6\).

Voor de vermenigvuldiging wordt \(0\) uitgesloten uit de eindige verzameling. De eindige verzameling \(Z_n^0 = \{1,2,...,n-1\}\) bevat dus \(n-1\) getallen. In die verzameling kan je ook machten berekenen. Omdat \(Z_n^0\) maar \(n-1\) verschillende getallen bevat zijn er maximaal \(n-1\) verschillende machten mogelijk.

Reken na:

Een cyclische groep 1 is een groep die kan beschreven worden door alle machten van één element \(g\). De verzameling \(Z_n^0 = \{g, g^2, g^3,...,g^{n-1}\}\) of anders geformuleerd: de \(n-1\) getallen \(g, g^2, g^3,...,g^{n-1}\) zijn allemaal verschillend in \(Z_n^0\). Het element \(g\) wordt een generator voor \(Z_n^0\) genoemd.

Opgave

Schrijf een logische functie is_generator(g, n) die nagaat of de eerste parameter g een generator is voor \(Z_{n}^0\).

Tips

Voorbeelden

>>> is_generator(2, 5)
True
>>> is_generator(2, 10)
False