結果
問題 |
No.106 素数が嫌い!2
|
ユーザー |
![]() |
提出日時 | 2019-04-11 15:23:36 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 945 bytes |
コンパイル時間 | 293 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 18,596 KB |
最終ジャッジ日時 | 2024-07-18 13:13:06 |
合計ジャッジ時間 | 12,676 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | TLE * 1 -- * 12 |
ソースコード
def calc_factors(number, prime_numbers): number_copied = number unique_factors = set() for candidate_factor in prime_numbers: while (number_copied % candidate_factor) == 0: unique_factors.add(candidate_factor) number_copied = number_copied / candidate_factor return unique_factors n, k = map(int, input().split()) count = 0 prime_numbers = set() success_numbers = set() for i in range(2, n + 1): success = False for s in success_numbers: if i % s == 0: success = True count += 1 break if success: success_numbers.add(i) success = False continue unique_factors = calc_factors(i, prime_numbers) # print("{} {}".format(i, unique_factors)) if len(unique_factors) >= k: success_numbers.add(i) count += 1 elif len(unique_factors) == 0: prime_numbers.add(i) print(count)