【洛谷 P5253】【数学】 丢番图
题目
解题思路
讨厌数学题qwq
原式
通分后
为了因式分解,变形一下
十字相乘后得
其实就变成了求n2的因子个数/2向上取整
用分解质因数的方法求出n2的因子个数
代码
#include<iostream>
#include<cstdio>
using namespace std;
long long n;
int t,ans=1;
int main()
{
scanf("%lld",&n);
for (int i=2;1ll*i*i<=n;i++)
if (n%i==0)
{
int t=0;
while (n%i==0) n/=i,t++;
ans*=2*t+1;
}
if (n>1) ans*=3;
printf("%d",(ans+1)/2);
return 0;
}