結果
| 問題 |
No.847 Divisors of Power
|
| コンテスト | |
| ユーザー |
ttr
|
| 提出日時 | 2020-02-05 22:22:06 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 199 ms / 2,000 ms |
| コード長 | 661 bytes |
| コンパイル時間 | 198 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 10,880 KB |
| 最終ジャッジ日時 | 2024-09-23 04:17:47 |
| 合計ジャッジ時間 | 2,543 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 26 |
ソースコード
N,K,M = map(int, input().split())
i = 2
dic = {}
while N > 1:
if N%i == 0:
if i in dic:
dic[i] += 1
else:
dic[i] = 1
N //= i
else:
i += 1
if i > N**0.5:
if N in dic:
dic[N] += 1
else:
dic[N] = 1
break
L = []
for key in dic:
L.append((key, dic[key]*K))
ans = 0
def f(L, cnt, idx):
if cnt > M:
return 0
if idx == len(L):
return 1
res = 0
temp = L[idx]
for i in range(temp[1]+1):
if cnt*temp[0]**i > M:
break
res += f(L, cnt*temp[0]**i, idx+1)
return res
print(f(L, 1, 0))
ttr