結果
問題 | No.7 プライムナンバーゲーム |
ユーザー |
👑 ![]() |
提出日時 | 2020-07-29 01:19:41 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 147 ms / 5,000 ms |
コード長 | 896 bytes |
コンパイル時間 | 230 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 71,660 KB |
最終ジャッジ日時 | 2024-10-01 16:38:47 |
合計ジャッジ時間 | 2,317 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
def Sieve_of_Eratosthenes(N,mode=False): """Nまでのエラトステネスの篩を実行 N:自然数 mode:False->素数のリスト,True->素数かどうかのリスト (False->[2,3,5,...],True->[False,False,True,True,False,True,...]) """ T=[True]*(N+1) T[0]=T[1]=0 a=2 while a*a<=N: if T[a]: b=a*a while b<=N: T[b]=False b+=a a+=1 if mode: return T else: return [k for k in range(N+1) if T[k]] #----------------------------------------------------------- N=int(input()) P=Sieve_of_Eratosthenes(N,False) inf=float("inf") M=[inf]*(N+1) M[2]=M[3]=0 for i in range(4,N+1): X=set() for p in P: if i<p: break X.add(M[i-p]) t=0 while t in X: t+=1 M[i]=t if M[i]: print("Win") else: print("Lose")