結果

問題 No.7 プライムナンバーゲーム
ユーザー work-furukawa
提出日時 2025-04-15 23:49:05
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 57 ms / 5,000 ms
コード長 583 bytes
コンパイル時間 242 ms
コンパイル使用メモリ 82,140 KB
実行使用メモリ 61,860 KB
最終ジャッジ日時 2025-04-15 23:50:56
合計ジャッジ時間 1,846 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

def Eratosthenes(N):
  IsPrime=[True] * (N + 1)

  i = 2
  while i**2 <= N:
    if not IsPrime[i]:
      i += 1
      continue

    k = 2
    while i*k <= N:
      IsPrime[i*k] = False
      k += 1

    i += 1

  return [i for i in range(2,N+1) if IsPrime[i]]

N = int(input())
primes = Eratosthenes(N)

dp = [False] * (N + 1)
dp[0] = True
dp[1] = True

for i in range(2, N + 1):
  # False に導ければ True(勝ち)
  for prime in primes:
    if prime >= i:
      break

    if not dp[i - prime]:
      dp[i] = True
      break

if dp[N]:
  print("Win")
else:
  print("Lose")
0