HDU-2899(简单数学问题+二分查找)

来源:互联网 发布:夏加儿美术教育知乎 编辑:程序博客网 时间:2024/05/22 00:53

其实就是简单的数学求极值问题.

看了代码大家都会知道的.

本来是想好好学学二分查找这种方法的,但是发现专门考二分查找的不多,它只是种思想,是一种工具.

贴出代码:

#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>const double eps=1e-8; int y;double g(double x){return 42*pow(x,6)+48*pow(x,5)+21*pow(x,2)+10*x;}double f(double x){return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-x*y;}int main(){int T;scanf("%d",&T);while(T--){scanf("%d",&y);if(g(100.0)-y<=0)printf("%.4lf\n",f(100.0));else{double l=0,r=100;double mid;while(l+eps<=r){mid=(l+r)/2;if(g(mid)-y<0)l=mid;elser=mid;}printf("%.4lf\n",f(mid));}}return 0;}


 

原创粉丝点击