結果
問題 | No.2576 LCM Pattern |
ユーザー |
![]() |
提出日時 | 2023-12-08 01:54:52 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 47 ms / 2,000 ms |
コード長 | 715 bytes |
コンパイル時間 | 438 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 58,624 KB |
最終ジャッジ日時 | 2024-09-27 02:34:05 |
合計ジャッジ時間 | 1,977 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
def factorization(n): arr = [] temp = n i=2 while i*i<=n: if temp%i==0: cnt=0 while temp%i==0: cnt+=1 temp //= i arr.append([i, cnt]) i+=1 if temp!=1: arr.append([temp, 1]) return arr def exp(a,b,p): ans,mul,div=1,a,1 for i in range(70): if b//div%2==1: ans*=mul ans%=p mul=mul**2%p div*=2 return ans%p N,M=map(int,input().split()) p=998244353 S=factorization(M) ans=1 for a,b in S: dp=[0 for _ in range(b+1)] sub=0 for i in range(b+1): dp[i]=exp(i+1,N,p)-sub sub+=dp[i] ans*=dp[-1] ans%=p print(ans)