結果

問題 No.106 素数が嫌い!2
ユーザー kutsutamakutsutama
提出日時 2019-01-08 15:30:06
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
AC  
実行時間 2,794 ms / 5,000 ms
コード長 634 bytes
コンパイル時間 271 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 62,464 KB
最終ジャッジ日時 2024-05-03 03:43:57
合計ジャッジ時間 20,525 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1,362 ms
36,724 KB
testcase_01 AC 25 ms
10,880 KB
testcase_02 AC 26 ms
10,880 KB
testcase_03 AC 25 ms
10,880 KB
testcase_04 AC 1,337 ms
36,716 KB
testcase_05 AC 2,723 ms
62,464 KB
testcase_06 AC 2,680 ms
62,376 KB
testcase_07 AC 2,794 ms
62,352 KB
testcase_08 AC 189 ms
14,336 KB
testcase_09 AC 195 ms
14,592 KB
testcase_10 AC 2,696 ms
62,284 KB
testcase_11 AC 1,090 ms
33,636 KB
testcase_12 AC 2,745 ms
60,196 KB
testcase_13 AC 25 ms
10,752 KB
testcase_14 AC 25 ms
10,752 KB
testcase_15 AC 26 ms
10,752 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

n, k = [int(x) for x in input().split()]

dummy = 2 * n
prime = [dummy] * (n + 2)
sie = [dummy] * (n + 2)
prime[0] = 2
prime[1] = 3
for p in prime:
    for i in range(p, n + 1, p):
        sie[i] = p
idx_p = 2
for num in range(6, n + 1, 6):
    for snum in (num - 1, num + 1):
        if sie[snum] != dummy:
            continue
        for i in range(snum, n + 1, snum):
            sie[i] = snum
        prime[idx_p] = snum
        idx_p += 1

cnt = [0] * (n + 1)
for p in prime:
    if p == dummy:
        break
    for i in range(p, n + 1, p):
        cnt[i] += 1
res = 0
for c in cnt:
    if c >= k:
        res += 1

print(res)
0