题意
给出两个数p,q 找出a,b满足 a/b+b/a=p/q;
直接求根公式
令a/b=x 带入求解, 注意化简
代码
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
int main()
{
int t;
cin>>t;
while(t--)
{
ll p,q;
cin>>p>>q;
if(p<q*2)
{
cout<<"0 0\n";
continue;
}
ll g=__gcd(p,q);
p/=g,q/=g;
ll m=sqrt(p*p-4*q*q);
if(m>=0&&m*m==p*p-4*q*q)
{
ll f=p+m,h=2*q;
ll gg=__gcd(f,h);
f/=gg,h/=gg;
cout<<min(f,h)<<" "<<max(f,h)<<endl;
}
else cout<<"0 0\n";
}
return 0;
}