专题二 1002

一、题目编号:

          1002

二、简单题意:

          F(x) = 6 * x^7+8*x^6+7*x^3+5*x^2-y*x,已知y的值,且x的范围在0到100之间,求F(x) 的最小值。

三、解题思路形成过程

          数学问题,求导判断单调性即可。先求出F(x) 的导数:F'(x) =42*x^6+48*x^5+21*x^2+10*x-y。易知在0<=x<=100的范围内,F(x)是先递减后递增的函数。求出使F'(x)=0的x值,便可求出F(x)的最小值。利用二分法求即可。

四、感想

         数学问题~还是利用二分法。

五、AC代码 

#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
double calculate(double x,double y)
{
return 42*pow(x,6)+48*pow(x,5)+21*pow(x,2)+10*x-y;
}
int main()
{
int t;
cin>>t;
while(t--)
{
double y;
cin>>y;
double min=0,max=100,mid;
mid=(max+min)/2;
while(fabs(calculate(mid,y))>1e-9)
{
if(calculate(mid,y)>0)
{
max=mid;
mid=(max+min)/2;
}
else
{
min=mid;
mid=(max+min)/2;
}
}
cout<<fixed<<setprecision(4)<<6*pow(mid,7)+8*pow(mid,6)+7*pow(mid,3)+5*pow(mid,2)-y*mid<<endl;
}
return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值