結果
問題 | No.1659 Product of Divisors |
ユーザー |
|
提出日時 | 2021-09-08 10:39:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 137 ms / 2,000 ms |
コード長 | 740 bytes |
コンパイル時間 | 262 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 82,048 KB |
最終ジャッジ日時 | 2024-12-25 13:37:29 |
合計ジャッジ時間 | 4,783 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
n=10**6isprime=[True]*(n+1) #isprime[i]はiが素数かどうかisprime[0]=Falseisprime[1]=Falsefor p in range(2,n+1):if isprime[p]:for q in range(2*p,n+1,p):isprime[q]=FalseP=[i for i in range(10**6) if isprime[i]]def extgcd(a,b):if b:d,y,x=extgcd(b,a%b)y-=(a//b)*xreturn d,x,yreturn a,1,0def modinv(a,mod):return extgcd(a,mod)[1]N,K=map(int,input().split())mod=10**9+7divs=[]for p in P:exp=0while N%p==0:exp+=1N//=pif exp:divs.append(exp)if N>1:divs.append(1)ans=1for div in divs:res=0for n in range(div+1):c=1for i in range(1,n+1):c=c*(n+K-i)%mod*modinv(i,mod)%mod# print(n,c)res+=cres%=modans=ans*res%modprint(ans)