結果
| 問題 |
No.2785 四乗足す四の末尾の0
|
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2025-03-18 10:15:10 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 832 ms / 2,000 ms |
| コード長 | 454 bytes |
| コンパイル時間 | 426 ms |
| コンパイル使用メモリ | 82,756 KB |
| 実行使用メモリ | 78,540 KB |
| 最終ジャッジ日時 | 2025-03-18 10:15:16 |
| 合計ジャッジ時間 | 5,908 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 20 |
ソースコード
I,R=input,range
def MillerRabin(n):
assert n>0
if n<2:return 0
P=[2,3,5,7,11,13,17,19,23,29]
if n in P:return 1
if any(n%p<1 for p in P):return 0
u,v=n-1,0
while u&1<1:u>>=1;v+=1
for p in P:
m=pow(p,u,n)
if m!=1:
for e in R(v):
if m==n-1:break
m=m*m%n
else:return 0
return 1
for _ in R(int(I())):
n=int(I())**4+4
print("YNeos"[1-MillerRabin(n)::2])
u=[]
for p in[2,5]:
v=0
while n%p<1:n//=p;v+=1
u+=[v]
print(min(u))