求调
#include<bits/stdc++.h>
using namespace std;
int cl(int n)
{
for(int i=n;i>=1;i--)
{
if(n%(i*i)==0)
{
return i;
}
}
}
int main()
{
int t,m;
cin>>t>>m;
while(t--)
{
int a,b,c;
cin>>a>>b>>c;
int data=b*b-4*a*c;
if(data<0)
{
cout<<"No"<<endl;
continue;
}
if(sqrt(data)*sqrt(data)==data)
{
data=sqrt(data);
int ans1=data-b,ans2=2*a;
if(ans1<0)
{
cout<<'-';
ans1=-ans1;
}
if(ans1==0)
{
cout<<0<<endl;
continue;
}
int g=ans1;
ans1/=__gcd(ans1,ans2);
ans2/=__gcd(g,ans2);
cout<<ans1;
if(ans2!=1)
cout<<'/'<<ans2;
cout<<endl;
}
else
{
int k1=cl(data);
int k2=data/(k1*k1);
int ans1=-b,ans2=2*a,ans3=k1;
if(ans1<0)
{
cout<<'-';
ans1=-ans1;
}
if(ans1!=0)
{
int g=ans1;
ans1/=__gcd(ans1,ans2);
ans2/=__gcd(g,ans2);
cout<<ans1;
if(ans2!=1)
cout<<'/'<<ans2;
cout<<'+';
}
ans2=2*a;
if(k1!=1)
{
int g=ans3;
ans3/=__gcd(ans2,ans3);
ans2/=__gcd(g,ans2);
if(ans3!=1)
cout<<ans3<<'*';
}
cout<<"sqrt("<<k2<<")"<<'/'<<ans2<<endl;
}
}
}