【P5253】丢番图【数论,数学】
题目大意:
题目链接:https://www.luogu.org/problem/P5253
给出,求本质不同的解。
思路:
和 樱花 那道题基本一样,所以很快就推出来了。
通分
移项
配方
所以如果我们分解质因数即可。然后两两配对。
若,则
时间复杂度
代码:
#include <cstdio>
using namespace std;
typedef long long ll;
const int N=1e7+10;
ll n,tot,ans,c[N];
int main()
{
scanf("%lld",&n);
for (ll i=2;i*i<=n;i++)
if (!(n%i))
{
tot++;
for (;!(n%i);n/=i)
c[tot]++;
}
if (n>1) c[++tot]++;
ans=1;
for (int i=1;i<=tot;i++)
ans*=(c[i]*2+1);
printf("%lld",(ans+1)/2LL);
return 0;
}