結果
問題 |
No.7 プライムナンバーゲーム
|
ユーザー |
|
提出日時 | 2014-11-05 20:32:57 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 310 ms / 5,000 ms |
コード長 | 726 bytes |
コンパイル時間 | 91 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,912 KB |
最終ジャッジ日時 | 2024-10-01 15:27:41 |
合計ジャッジ時間 | 2,871 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
from itertools import ifilter, islice def gen_odd(): n = 3 while True: yield n n += 2 def iprimes(): yield 2 g = gen_odd() while True: prime = g.next() s_prime = prime * prime ps = [] while s_prime != prime: yield prime ps.append(prime) prime = g.next() pred = lambda x, ps = ps: all(x % p for p in ps) g = ifilter(pred, g) n=input() primes=[] for i in iprimes(): if i > n: break primes.append(i) w=[False]*(n+1) for c in range(2,n+1): if w[c]==False: for i in [j for j in primes if j+c<=n]: w[i+c]=True print "Win" if w[c] else "Lose"