結果
問題 | No.1409 Simple Math in yukicoder |
ユーザー |
![]() |
提出日時 | 2021-02-27 14:58:37 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 744 bytes |
コンパイル時間 | 193 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 66,176 KB |
最終ジャッジ日時 | 2024-10-02 17:29:05 |
合計ジャッジ時間 | 12,669 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 2 |
other | RE * 58 |
ソースコード
def primitive_root(m):if m == 2: return 1if m == 167772161: return 3if m == 469762049: return 3if m == 754974721: return 11if m == 998244353: return 3Divs = [2]x = (m-1)//2while x%2 == 0:x //= 2i = 3while i*i <= x:if not x%i:Divs.append(i)while not x%i:x //= ii += 2if x > 1:Divs.append(x)g = 2while True:if all(pow(g, (m-1)//div, m) != 1 for div in Divs):return gg += 1for _ in range(int(input())):v, x = map(int, input().split())q = v*x+1g = primitiv_root(q)h = pow(g, v, q)print(*sorted([pow(h, i, q) for i in range(x)]))