hdu 2899 (数学+二分)

来源:互联网 发布:苏尚卿 知乎 编辑:程序博客网 时间:2024/06/01 07:35
//函数在0——100,肯定是先递减后递增的,所以求导数为0的点,用二分#include<stdio.h>double y;double F(double x){return ((6*x+8)*x*x*x*x*x*x+7*x*x*x+5*x*x-y*x);}double f(double x){return ((42*x+48)*x*x*x*x*x+21*x*x+10*x-y);}int main(){int t;double left,right,mid;scanf("%d",&t);while(t--){scanf("%lf",&y);left=0.0;right=100.0;while(right-left>=0.0000000001){mid=(left+right)/2;if(f(mid)<=0)left=mid;else right=mid;}printf("%.4f\n",F(left));}return 0;}

原创粉丝点击