【洛谷P5253】 丢番图
题目背景
题目描述
输入格式
一行,仅一个整数n
输出格式
一行一个整数代表答案
输入样例
4
输出样例
3
解题思路
通过转换分式,我们可得出以下不含分式的式子:
(
x
−
n
)
(
y
−
n
)
=
n
2
(x−n)(y−n)=n^2
(x−n)(y−n)=n2
然后我们就通过代码实现:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
long long n,a=1,b=2,x;
cin>>n;
while(b*b<=n)
{
x=0;
while(n%b==0)
{
n=n/b;
x++;
}
a=a*(2*x+1);
b++;
}
if(n!=1) a=a*3;
a=(a+1)/2;
cout<<a;
}