灯泡——一个数学题

就是相似+对勾函数

如图

灯泡——一个数学题

 然后附上代码

#include<bits/stdc++.h>
using namespace std;
int n;
double H,h,D,a;
int main(){
	scanf("%d",&n);
	while(n--){
		scanf("%lf%lf%lf",&H,&h,&D);
		a=H-sqrt(D*H-D*h);
		if(a<0)printf("%.3f\n",D*h/H);
		else if(a>=h)printf("%.3f\n",h);
		else printf("%.3f\n",H+D-2*sqrt(D*H-D*h));
	}
}
/*
3
2 1 0.5
2 0.5 3
4 3 4
*/

 

上一篇:数据结构算法每日一练(三)青蛙跳台阶


下一篇:C语言(二十五)运算符表达式操作数