結果

問題 No.7 プライムナンバーゲーム
ユーザー urunea
提出日時 2025-04-22 01:51:41
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 169 ms / 5,000 ms
コード長 783 bytes
コンパイル時間 381 ms
コンパイル使用メモリ 81,904 KB
実行使用メモリ 66,364 KB
最終ジャッジ日時 2025-04-22 01:51:45
合計ジャッジ時間 3,027 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

N=int(input())
if N == 2 or N == 3:
    print("Lose")
    exit()

lose_num=set()
lose_num.add(2)
lose_num.add(3)

def Sieve_of_Eratosthenes(num):
    number_list = [[i,True] for i in range(0,num+1)]
    prime_list = []
    for i, res in number_list[2:]:
        if res == True:
            for j in range(i*i, num+1, i):
                number_list[j][1] = False

        if i > num**(1/2):
            break
    for num,i in number_list:
        if num >= 2 and i == True:
            prime_list.append(num)
    return prime_list

prime_set=set(Sieve_of_Eratosthenes(N+10))

for i in range(4,N+1):
    found=False
    for j in lose_num:
        if i-j in prime_set:
            found=True
    
    if not found:
        lose_num.add(i)

print("Win" if i not in lose_num else "Lose")
0