結果

問題 No.847 Divisors of Power
ユーザー tktk_snsn
提出日時 2021-01-26 00:22:38
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 116 ms / 2,000 ms
コード長 667 bytes
コンパイル時間 392 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 11,008 KB
最終ジャッジ日時 2024-06-23 00:14:56
合計ジャッジ時間 2,361 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 26
権限があれば一括ダウンロードができます

ソースコード

diff #

def prime_factorization(n, K):  # 素因数分解
    res = []
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            cnt = 0
            while n % i == 0:
                cnt += 1
                n //= i
            res.append([i, cnt*K])
    if n > 1:
        res.append([n, K])
    return res


N, K, M = map(int, input().split())
if N == 1:
    print(1)
    exit()
pf = prime_factorization(N, K)
ans = 1


def dfs(now, d):
    global ans
    if pf[d][1] and now * pf[d][0] <= M:
        pf[d][1] -= 1
        ans += 1
        dfs(now * pf[d][0], d)
        pf[d][1] += 1
    if d + 1 < len(pf):
        dfs(now, d + 1)


dfs(1, 0)
print(ans)
0