Strange fuction
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> double fun1(double x,double y) { return 6*x*x*x*x*x*x*x+8*x*x*x*x*x*x+7*x*x*x+5*x*x-y*x; } double fun2(double x,double y) { return 42*x*x*x*x*x*x+48*x*x*x*x*x+21*x*x+10*x-y; } int main( ) { int N; double M,a,b,mid; scanf("%d",&N); while(N--) { a=0,b=100,mid=50; scanf("%lf",&M); while(fabs(fun2(mid,M))>1e-4) { mid=(a+b)/2; if(fun2(mid,M)>=0) b=mid; else a=mid; } printf("%.4lf\n",fun1(mid,M)); } return 0; } /*思路就是先求导,然后根据数学知识,求出其导数为0时的x,就是最小值。
posted on 2011-05-03 01:16 more think, more gains 阅读(295) 评论(0) 编辑 收藏 举报