結果
問題 | No.8030 ミラー・ラビン素数判定法のテスト |
ユーザー |
👑 ![]() |
提出日時 | 2020-09-18 02:57:35 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 945 bytes |
コンパイル時間 | 428 ms |
コンパイル使用メモリ | 82,400 KB |
実行使用メモリ | 79,432 KB |
最終ジャッジ日時 | 2024-11-18 18:26:39 |
合計ジャッジ時間 | 4,483 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 WA * 7 |
ソースコード
#Miller-Rabinの素数判定法def Miller_Rabin_Primality_Test(N,Times=20):"""Miller-Rabinによる整数Nの素数判定を行う.N:整数※:Trueは正確にはProbably Trueである(Falseは確定False)."""from random import randint as riif N==2:return Trueif N==1 or N&1==0:return Falsex=N-1k=0while x&1==0:k+=1x>>=1q=(N-1)//(1<<k)for _ in range(Times):m=ri(2,N-1)if pow(m,q,N)==1:return Truey=pow(m,q,N)for i in range(k):if (y+1)%N==0:return Truey*=yy%=Nreturn False#================================================N=int(input())Y=[0]*Nfor i in range(N):x=int(input())if Miller_Rabin_Primality_Test(x,30):Y[i]="{} {}".format(x,1)else:Y[i]="{} {}".format(x,0)print("\n".join(map(str,Y)))