結果
問題 |
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))