結果
| 問題 | 
                            No.106 素数が嫌い!2
                             | 
                    
| コンテスト | |
| ユーザー | 
                             nbisco
                         | 
                    
| 提出日時 | 2017-01-19 00:36:24 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 726 bytes | 
| コンパイル時間 | 201 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 146,824 KB | 
| 最終ジャッジ日時 | 2024-12-23 01:28:19 | 
| 合計ジャッジ時間 | 53,701 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 4 WA * 2 TLE * 7 | 
ソースコード
import math
def count_primes(i, K):
    global primes
    global memo
    count = 0
    for j in primes:
        if i < j:
            break
        if i % j == 0:
            count += 1
            if count >= K:
                break
        while i % j == 0:
            i //= j
            if memo.get(i, False):
                return True
    return count >= K
n = int(math.sqrt(2000000))+1
primes = [2]
for i in range(3,n,2):
    for j in primes:
        if i % j == 0:
            break
        if j*2 > i:
            primes.append(i)
            break
N, K = map(int, input().split(" "))
total = 0
memo = {}
for i in range(2, N+1):
    if count_primes(i, K):
        total += 1
        memo[i] = True
print(total)
            
            
            
        
            
nbisco