在区间(0,100)。在恒大二阶导数0。f(x)有极小值。用的最低要求的一阶导数值点;
#include#include #include #include const double eps=1e-6;double f(double x,double y){ return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x;}double fpi(double x,double y){ return 42*pow(x,6)+48*pow(x,5)+21*pow(x,2)+10*x-y;}double slove(double y){ double left=0.0,right=100.0,mid; while(right-left>eps) { mid=(left+right)/2; if(fpi(mid,y)<0.0) left=mid; else right=mid; } return mid;}int main(void){ int t; double y; scanf("%d",&t); while(t--) { scanf("%lf",&y); printf("%.4f\n",f(slove(y),y)); } return 0;}
版权声明:本文博客原创文章。博客,未经同意,不得转载。