你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / C专栏
hdu 2899 简单三分
 

三分就是在二分的基础上的进一步确定区间值 先把区间分为三分 然后更新左右区间值

 

 

#include
#include
#include
using namespace std;
#define exp 1e-6

double y;
double pow(double a,int b)
{
    int i;
    double x=1;
    for(i=1;i<=b;i++)
    {
        x*=a;
    }
    return x;
}
double f(double x)
{
    return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x; ;
}
int main()
{
    int T,i,j;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lf",&y);
        double row=0,right=100;
        while(right-row>exp)
        {
             double mid1=(2*row+right)/3;
              double mid2=(row+2*right)/3;
            if(f(mid1)>f(mid2))
            row=mid1;
            else right=mid2;

        }
        printf("%.4lf\n",f(row));
    }
    return 0;
}
  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089