题意:给你个函数,求函数的最小值以及函数取得最小值的时的自变量的值。
思路:今天算是又涨知识惹,3分可以来求一个凹凸函数的最值。
#include <bits/stdc++.h>
using namespace std;
const double eps=1e-7;
double n,p,s,v;
double get_val(double c)
{
return n*pow(log2(n),c*sqrt(2.0))/(p*1e9)+(1+1.0/c)*s/v;
}
int main()
{
while(~scanf("%lf%lf%lf%lf",&n,&p,&s,&v))
{
double l=0.0,r=100.0;
while(r-l>eps)
{
double mid1=(l+r)/2.0,mid2=(mid1+r)/2.0;
if(get_val(mid1)<get_val(mid2))r=mid2;
else l=mid1;
}
printf("%.7f %.7f\n",get_val(l),l);
}
return 0;
}