題目:
題解:
我們先篩出質數,再對 分解質因數關于 分解質因數的方法可以看我的上一篇部落格 階乘分解将分解為以下形式
對于每一個分解出來的質因數,可以從選到,是以有種可能,是以約數個數為
#include <bits/stdc++.h>
using namespace std;
long long pri[1000005];
long long primes[1000005];
long long mod=1e9+7;
int con=0;
void prime(long long n)
{
for(int i=1;i<=n;i++) pri[i]=1;
pri[1]=0;
for(int i=2;i<=n;i++)
{
if(pri[i])
{
primes[++con]=i;
for(int j=2;j*i<=n;j++)
{
pri[j*i]=0;
}
}
}
}
int main()
{
long long n;
cin>>n;
prime(n);
long long ans=1;
for(int i=1;i<=con;i++)
{
long long m=n;
long long c=0;
long long a=primes[i];
while(m)
{
c+=(m/a);
m/=a;
}
ans=(ans*(2*c+1)%mod)%mod;
}
cout<<ans<<endl;
return 0;
}