集团网站建设效果,在国外做购物网站,合肥学校网站建设,设计网站栏目题意#xff1a;给出光的高度#xff0c;人的高度#xff0c;还有屋子的宽度本题就是要求人站在什么地方影长最长 输出最长的影长数学题可以把这道题的分段公式推出来然后分类讨论x在不同的范围获得不同的大小或者把影长公式推出来发现是凸函数 可以求极值点 然后三分求
三… 题意给出光的高度人的高度还有屋子的宽度本题就是要求人站在什么地方影长最长 输出最长的影长数学题可以把这道题的分段公式推出来然后分类讨论x在不同的范围获得不同的大小或者把影长公式推出来发现是凸函数 可以求极值点 然后三分求
三分
#includebits/stdc.h
using namespace std;
const double eps 1e-9;
double H,h,D;
double cal(double x)
{return -x-D*(H-h)/xHD;
}
int main()
{int n;cinn;for(int i1;in;i){cinHhD;double l D-(D*h)/H,rD;coutl rendl;while(r-leps){double mid (lr)/2;double mmid (midr)/2;if(cal(mid)cal(mmid))r mmid;elsel mid;// 无论怎么消除区间 都会使l和r向最高值靠拢// 即便是l和r在一侧 那么也会淘汰较小的那部分区间 想更精确与极值点处靠拢}printf(%.3lf\n,cal(r));}return 0;
}公式 #includebits/stdc.h
using namespace std;
const double eps 1e-9;
double H,h,D;
double cal(double x)
{return -x-D*(H-h)/xHD;
}
int main()
{int n;cinn;for(int i1;in;i){cinHhD;double leak sqrt(D*(H-h));//峰值xdouble x0 D-D*h/H;//分段函数临界点xif(leakx0)//当峰值x小于临界点时 直接表示出最高值printf(%.3lf\n,h*D/H);else if(leakx0leakD)//当峰值x在D与临界点之间时是两段影长相加printf(%.3lf\n,cal(leak));else printf(%.3lf\n,h);// 当对号函数峰值x大于D时 表示//最大的影长需要在场外获得此时人站在尽可能靠近此峰值出的位置 可以获得//尽可能大的影长 所以直接输出h}return 0;
}