首页 > 代码库 > hdu2899 Strange fuction
hdu2899 Strange fuction
在区间(0,100),二次导数恒大于0,f(x)有极小值,用一次导数求极小值点;
#include<math.h> #include<stdio.h> #include<stdlib.h> #include<string.h> 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; }
hdu2899 Strange fuction
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。