結果
| 問題 |
No.2576 LCM Pattern
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-12-04 18:07:21 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 45 ms / 2,000 ms |
| コード長 | 725 bytes |
| コンパイル時間 | 502 ms |
| コンパイル使用メモリ | 81,920 KB |
| 実行使用メモリ | 57,600 KB |
| 最終ジャッジ日時 | 2024-09-26 23:07:13 |
| 合計ジャッジ時間 | 2,127 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
def factorization(n: int) -> list:
"""
2以上の整数n => [[素因数, 指数], ...]の2次元リスト
Parameters
----------
n:int
"""
arr = []
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.append((i, cnt))
if temp != 1:
arr.append((temp, 1))
if arr == []:
arr.append((n, 1))
return arr
N, M = map(int, input().split())
primes = factorization(M)
ans = 1
if M == 1:
exit(print(ans))
MOD = 998244353
for _, e in primes:
ans *= pow(e + 1, N, MOD) - pow(e, N, MOD)
ans %= MOD
print(ans)