关于唯一分解定理的一些推导
前言
已知唯一分解定理基础形式:
,这个式子是恒成立的。
有了上述基础,我们可以将
此时上方求因子个数的公式仍然成立,不难发现,
那么知道了上述的依托答辩结论有什么用呢?
应用
洛谷P1445
碰到此类的数学题首想就是化简式子,又鉴于有
首先移项:
即:
其次倒一下数,上下换一换(相当于将
最后分离常数:
即:
由于题目要求
所以我们直接枚举出
Code
#include<bits/stdc++.h>
#define N 9555555
#define ll long long
using namespace std;
const ll mod = 1e9+7;
ll n,ans=1,lis[N],k;
bool table[N];
void solve(){ //筛法筛出质数
for(int i=2;i<=n;i++){
if(table[i]==0)
lis[++k]=i;
for(int j=1;j<=k&&i*lis[j]<=n;j++){
table[i*lis[j]]=1;
if(i%lis[j]==0)
break;
}
}
return ;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
solve();
for(ll i=1;i<=k;i++){ //套公式
ll t=n,p=lis[i],sum=0;
while(t>1){
t/=p;
sum+=t;
}
//cout<<sum<<'\n';
ans*=2*sum%mod+1;
ans%=mod;
}
cout<<ans;
return 0;
}
据说这个结论也可以用于P5150里--->题目传送门(逃
完结撒花QWQ