Dev-C++ 无能为力,我要经得起折磨的格式化代码机:
#include<b\
its/std\
c++.h>
#define l\
l long \
lon\
g
u\
s\
ing namespace std ;
inli\
ne ll read \
( ){
ll x =0,y =1 ;
\
c\
har \
c =\
get\
char ( ) ;
w\
hile (c<\
'0\
'||c>'9'){
if(c=='-')y\
=-1;
c=getchar\
();
\
}
\
while(c>='0'&&c<\
='\
9'\
)x=(x<\
<\
3)+(x<<1)+\
c-'\
0',c=getc\
har();
\
retur\
n x*y;
}
ll T,M,a,b,c,delta;
\
l\
l gc\
d\
(ll a,l\
l\
b){
if\
(\
b\
==0)\
return \
a;
return g\
cd(b\
,a%b);
}
int\
main\
(\
){
\
T=read();M=read();
while(T--){
a\
=\
read();b\
=read();c=read\
();
de\
lta=b*b-4*a*c;
if(delta\
<\
0)\
{
\
printf("NO\n\
");
\
}else if(delta==0){
\
\
ll p=-b,q=2*a;
\
ll\
p\
q=gcd(abs(q),abs(p));
p/=pq,q/=pq;
if\
(q<0)q=-q,p=-p;
if(q==1\
)\
printf(\
"%lld\n",p);
el\
se\
p\
rin\
tf("%lld/%lld\n",p,q);
}\
else{
\
ll p=-b,q=2*a\
;
ll sq\
=\
(ll)\
sq\
rt(delta\
)\
;
if\
(sq*sq==delta){
if(q>0)p+=\
sq;
else p-=\
sq;
ll pq=gcd\
(\
ab\
s(q\
),abs(\
p));
p\
/=pq,q/=pq;
\
if(q<0)q=-q,p=-p;
\
if(q==\
1)printf("%lld\n"\
,p);
e\
lse printf("%lld/%ll\
d\n",p,q);
}else{
ll pq=g\
cd\
(abs(q),abs(\
p)\
);
p/=pq,q\
/=pq;
\
if(q<0)q=\
-q,p=-p;
if(p!=0){
\
if(q==1)p\
r\
intf("%lld+",p);
\
e\
l\
se\
print\
f("\
%lld/%lld+",p,q);
\
}
q\
=abs(2*a);
\
p=1;
ll t=0;
f\
or(int r=sq\
;r>=1;r\
-\
-)
if(delta%(r*r)==0){
\
p*=r;
\
\
t=\
delta/(r*r);
break;
\
}
pq=gcd\
(abs(q),\
abs(\
p)\
)\
;
\
\
p/=pq,q/=p\
q\
;
if(q<0)q=-q\
,p=-p;
\
if(p==q) print\
f("sqrt\
(%lld)\n",t);
els\
e if(q==1) printf\
(\
"%\
lld\
*\
sqrt(%lld)\n",p,t);
else if(p==1) printf("sqrt(%\
lld)/%lld\n",t,q);
e\
lse pr\
intf("%lld*sqrt\
(%ll\
d)/%lld\n",p\
,t\
,q);
\
\
}
}
}
retur\
n 0;
}