結果
| 問題 |
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)