結果
| 問題 | No.847 Divisors of Power |
| コンテスト | |
| ユーザー |
ttr
|
| 提出日時 | 2020-02-05 22:22:06 |
| 言語 | Python3 (3.14.3 + numpy 2.4.4 + scipy 1.17.1) |
| 結果 |
AC
|
| 実行時間 | 195 ms / 2,000 ms |
| コード長 | 661 bytes |
| 記録 | |
| コンパイル時間 | 355 ms |
| コンパイル使用メモリ | 20,700 KB |
| 実行使用メモリ | 15,360 KB |
| 最終ジャッジ日時 | 2026-04-11 09:32:20 |
| 合計ジャッジ時間 | 4,909 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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