#除去分割最大公約数求めにより DEF GCD(A、B)が: R =%のB 中(R =!0):= B B = R R =%のBの 戻りB #オイラー機能-暴力版のサイクル DEF オイラー(A): カウント = 0の ため、I で範囲(1 、A): もし GCD(I)== 1 : 数 + = 1 リターン回数 DEF 順序(A、N-、B): #1 の工程bのMODの出力(A) # オーダーのN-MOD(a)の基 P = 1 一方、(P <= N および(B ** P%= 1! ))。 P + = 1 の場合のp <= N: リターン・P 他: 返す -1 #原始根の任意の数を探す DEFのprimitive_root(A)を: N = オイラー(A) プリム = [] のために B における範囲(2 、A): もし順序(N、B)== N: prim.append(B) 印刷(プリム)
テスト結果: