結果
問題 |
No.106 素数が嫌い!2
|
ユーザー |
|
提出日時 | 2020-09-14 02:22:14 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 779 bytes |
コンパイル時間 | 387 ms |
コンパイル使用メモリ | 82,528 KB |
実行使用メモリ | 123,032 KB |
最終ジャッジ日時 | 2024-06-13 04:53:57 |
合計ジャッジ時間 | 13,035 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | TLE * 1 -- * 12 |
ソースコード
N, K = map(int, input().split()) if K > 7: print(0) P = [2, 3, 5, 7, 11, 13] n = N for i in range(K - 1): n //= P[i] isPrime = [0] + [1] * n for i in range(2, int(n ** 0.5) + 1): if isPrime[i]: for j in range(2 * i, n + 1, i): isPrime[j] = 0 Prime = [i for i in range(2, n + 1) if isPrime[i]] ans = 0 n //= P[K - 1] X = [] for p in Prime: x = [p] while x[-1] <= n: x += [x[-1] * p] X += [x] from itertools import product, combinations while True: z = 0 for pro in combinations(X, r=K): for i in product(*pro): y = 1 for j in i: y *= j if y <= N: z += 1 if z: ans += z K += 1 else: break print(ans)