圈圈
浙江理工大学2019年新生赛
题目描述
Ulire有一块菱形木板,他想在上面切下两个圆,要求在第一个圆尽可能大的前提下让第二个圆也尽可能大。Ulire显然是知道怎么切的,但他现在沉迷于Brain Power无法自拔,就把问题委托给了你。
输入
两个正整数a和b,表示菱形两个对角线的长度。(1<=a,b<=100)
输出
输出一个数,为第二个圆的半径,数据要求精确到小数点后四位。
样例输入
2 2
样例输出
0.1213
公式题,源代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
double a,b,c,d,e;
cin>>a>>b;
c=a*b/(2*sqrt(a*a+b*b));
if(b>a) a=b;
printf("%.4f\n",(c*a/2-c*c)/(a/2+c));
return 0;
}