結果
| 問題 |
No.1659 Product of Divisors
|
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2021-07-22 01:02:38 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 47 ms / 2,000 ms |
| コード長 | 935 bytes |
| コンパイル時間 | 326 ms |
| コンパイル使用メモリ | 82,480 KB |
| 実行使用メモリ | 58,852 KB |
| 最終ジャッジ日時 | 2024-11-21 00:05:39 |
| 合計ジャッジ時間 | 2,278 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 23 |
ソースコード
#素因数分解
def Prime_Factorization(N):
if N<0:
R=[[-1,1]]
else:
R=[]
N=abs(N)
if N&1==0:
C=0
while N&1==0:
N>>=1
C+=1
R.append([2,C])
if N%3==0:
C=0
while N%3==0:
N//=3
C+=1
R.append([3,C])
k=5
Flag=0
while k*k<=N:
if N%k==0:
C=0
while N%k==0:
C+=1
N//=k
R.append([k,C])
k+=2+2*Flag
Flag^=1
if N!=1:
R.append([N,1])
return R
def nCr(n,r):
a=b=1
while r:
a*=n; a%=Mod
b*=r; b%=Mod
n-=1; r-=1
return (a*pow(b,Mod-2,Mod))%Mod
def nHr(n,r):
return nCr(n+r-1,r)
#==================================================
N,K=map(int,input().split())
Mod=10**9+7
X=1
for p,e in Prime_Factorization(N):
X*=nHr(K+1,e); X%=Mod
print(X)
Kazun