結果
| 問題 |
No.7 プライムナンバーゲーム
|
| コンテスト | |
| ユーザー |
masumasumath1
|
| 提出日時 | 2019-11-30 10:44:00 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 895 bytes |
| コンパイル時間 | 195 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-11-21 01:05:00 |
| 合計ジャッジ時間 | 6,433 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 WA * 5 |
ソースコード
def isPrime(n):
if n < 2:
return False
for i in range(2,n):
#iはsqrt(n)まで調べれば十分
if i*i > n:
break
#一度でもiで割り切れたら素数ではない
if n%i == 0:
return False
#forを抜けたら素数
return True
#n以下の素数列挙
def mkP_tridiv(n):
for i in range(n+1):
if isPrime(i):
P.append(i)
N = int(input())
#N以下の素数をPに格納
P = []
mkP_tridiv(N)
#数字iで回ってきたときに自分が勝てるかどうか
#勝てるTrue,負けるFalse
A = [ False for i in range(N+1)]
#0,1で回ってきたら勝ちとする
A[0],A[1] = True,True
for i in range(1,N+1):
for p in P:
if i-p >= 0 and not A[i-p]:
A[i] = True
break
else:
A[i] = False
if A[N]:
print("Win")
else:
print("Lose")
masumasumath1