結果

問題 No.7 プライムナンバーゲーム
ユーザー lllllll88938494lllllll88938494
提出日時 2023-05-07 12:38:29
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 55 ms / 5,000 ms
コード長 624 bytes
コンパイル時間 563 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 61,824 KB
最終ジャッジ日時 2024-05-03 13:00:38
合計ジャッジ時間 2,186 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 43 ms
59,008 KB
testcase_01 AC 42 ms
58,624 KB
testcase_02 AC 54 ms
61,312 KB
testcase_03 AC 45 ms
61,440 KB
testcase_04 AC 48 ms
60,288 KB
testcase_05 AC 45 ms
60,544 KB
testcase_06 AC 48 ms
61,312 KB
testcase_07 AC 47 ms
61,184 KB
testcase_08 AC 46 ms
61,056 KB
testcase_09 AC 49 ms
61,824 KB
testcase_10 AC 40 ms
58,880 KB
testcase_11 AC 48 ms
61,184 KB
testcase_12 AC 52 ms
61,312 KB
testcase_13 AC 52 ms
61,568 KB
testcase_14 AC 55 ms
61,056 KB
testcase_15 AC 55 ms
61,312 KB
testcase_16 AC 52 ms
61,184 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

def  c(n):
    sosu=[True]*(n+1)
    sosu[0],sosu[1] = False,False
    cnt=0
    for i in range(4,n+1,2):
        sosu[i] = False
    
    for i in range(3,int(n**0.5)+1,2):
        if sosu[i] == False:
            continue
        for j in range(i,n//i+1,2):
            sosu[j*i]=False
    return [p for p in range(n + 1) if sosu[p]==True]
    
p=c(10**4)

n=int(input())
#先攻自分

d = [0]*(n+1)
d[0] = 1
d[1] = 1

for i in range(2,n+1):
    f = 0
    for j in p:
        if i-j < 0:
            break
        if d[i-j] == 0:
            f = 1
            break
    d[i] = f
    
print('Lose' if d[n] == 0 else 'Win')
0