結果
問題 |
No.308 素数は通れません
|
ユーザー |
|
提出日時 | 2015-12-01 02:42:06 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 14 ms / 1,000 ms |
コード長 | 411 bytes |
コンパイル時間 | 326 ms |
コンパイル使用メモリ | 7,076 KB |
実行使用メモリ | 7,168 KB |
最終ジャッジ日時 | 2024-11-27 18:07:41 |
合計ジャッジ時間 | 3,650 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 107 |
ソースコード
import random def solve(n): d=n-1 while d&1==0: d/=2 for l in range(0,100): a=random.randint(1,n-2) t=d y=pow(a,t,n) while t!=n-1 and y!=1 and y!=n-1: y=(y*y)%n t*=2 if y!=n-1 and t&1==0: return False return True a=[0,0,0,0,3,0,5,0,7,7,7,0,11,0,13,7,7,0,8,0,19,19,7,0,23,23] x=input() if x<26:print a[x] else:print 14 if (x-1)%8==0 and x%2 and solve(x-8) else 8