結果
| 問題 |
No.2192 平方数の下14桁
|
| コンテスト | |
| ユーザー |
遭難者
|
| 提出日時 | 2022-11-14 23:48:02 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 769 bytes |
| コンパイル時間 | 478 ms |
| コンパイル使用メモリ | 81,664 KB |
| 実行使用メモリ | 57,856 KB |
| 最終ジャッジ日時 | 2024-09-16 03:41:28 |
| 合計ジャッジ時間 | 5,152 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 41 WA * 3 |
ソースコード
mod = int(input())
r = int(input())
if r == 0:
print("YES")
exit()
def f(pp):
global mod, r
ans = True
e1, e2 = 0, 0
rr = r
while rr % pp == 0:
rr //= pp
e1 += 1
while mod % pp == 0:
mod //= pp
e2 += 1
e, ck = min(e1, e2), r
for _ in range(e):
ck //= pp
ans &= e == e2 or (e & 1) == 0
if pp == 2:
v2 = min(3, e2)
v22 = 1 << v2
ch = e == e2
for i in range(v22):
ch |= (i * i - ck) % v22 == 0
ans &= ch
else:
ans &= e == e2 or pow(ck, pp >> 1, pp) == 1
return ans
pp, ans = 2, True
while pp * pp < mod:
if mod % pp == 0:
ans &= f(pp)
pp += 1
if mod != 1:
ans &= f(mod)
print("YNEOS"[not ans::2])
遭難者