https://vj.xtuacm.cf/contest/view.action?cid=115#problem/J 二分简单题
#include <iostream> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #define ll long long using namespace std; int main() { int p,q,r,s,t,u; while(~scanf("%d %d %d %d %d %d",&p,&q,&r,&s,&t,&u)) { double l=0,rr=1; double s1=p*exp(l)+q*sin(l)+r*cos(l)+s*tan(l)+t*l*l+u; double s2=p*exp(-rr)+q*sin(rr)+r*cos(rr)+s*tan(rr)+t*rr*rr+u; if((s1>0&&s2>0)||(s1<0&&s2<0)) printf("No solution\n"); else { while(1) { double mid=(l+rr)/2; double s3=p*exp(-mid)+q*sin(mid)+r*cos(mid)+s*tan(mid)+t*mid*mid+u; if(s3<0) rr=mid; else l=mid; if(fabs(rr-l)<1e-7)//精度控制 break; } printf("%.4lf\n",l); } } return 0; }