notice to the 3 conditions when current x is smaller than desired x
/* UVas */ /*****************************************************************************/ int p, q, r, s, t, u; double calc(double mid) { return p*exp(-mid)+q*sin(mid)+r*cos(mid)+s*tan(mid)+t*mid*mid+u; } int main(void) { while (cin>>p>>q>>r>>s>>t>>u) { double l=0.0, h=1.0, mid, x, y; while (h-l>0.000000001) { mid=(l+h)/2; x=calc(mid); y=calc(h); if((y<0&x>0)||(y>=0&&x>y)||(y<=0&&y>x)) { l=mid; } else { h=mid; } } abs(x)<=0.0001?printf("%.4f\n", mid):printf("No solution\n"); } return 0; } /*****************************************************************************/
No comments :
Post a Comment