結果
問題 |
No.1659 Product of Divisors
|
ユーザー |
|
提出日時 | 2024-07-13 15:55:50 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 719 bytes |
コンパイル時間 | 632 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 17,568 KB |
最終ジャッジ日時 | 2024-07-13 15:55:57 |
合計ジャッジ時間 | 7,617 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 7 TLE * 1 -- * 15 |
ソースコード
def factorization(n: int) -> dict[int, int]: arr = dict() temp = n for i in range(2, int(-(-(n**0.5) // 1)) + 1): if temp % i == 0: cnt = 0 while temp % i == 0: cnt += 1 temp //= i arr[i] = cnt if temp != 1: arr[temp] = 1 if not arr and n != 1: arr[n] = 1 return arr N, K = map(int, input().split()) MOD = 10**9 + 7 def comb(n: int, r: int) -> int: res = 1 for i in range(r): res *= n - i res *= pow(i + 1, -1, MOD) res %= MOD return res ans = 1 fac = factorization(N) for ct in fac.values(): tmp = 1 ans *= comb(ct + K, K) ans %= MOD print(ans)