- delta大于0
- 记住求根公式。
- 最后写出积分式然后反解积分式带入就行。
#include<bits/stdc++.h>
using namespace std;
//就是数学题推导
int main(){
int T;
cin>>T;
while(T--){
int A,B,C;
cin>>A>>B>>C;
int a = B*B, b = 2*B*C-2*A, c = C*C;
int delta = b*b - 4*a*c;
if(delta<=0){ //若交点小于两个,直接返回0
cout<<"0"<<endl;
}else{
double x1 = (-b + sqrt(delta))/(2*a);
double x2 = (-b - sqrt(delta))/(2*a);
double y1 = B*x1 + C;
double y2 = B*x2 + C;
// 易知y1大于y2(B > 0, x1 > 0, x2 > 0)
double res = (y1*y1-y2*y2)/(2*B) + (y2-y1)*C/B + (y2*y2*y2-y1*y1*y1)/(6*A);
cout<<res<<endl;
}
}
return 0;
}