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编辑  收藏  举报

导航