For each case, print the case number and the displacement of the center of the rod in a single line. Errors less than 10-6 will be ignored.
Sample
Input
3
1000 100 0.0001
150 10 0.00006
10 0 0.001
Output
Case 1: 61.3289915
Case 2: 2.2502024857
Case 3: 0
#include<bits/stdc++.h>
using namespace std;
double L,n,C;
int k=1,t;
int main()
{
cin>>t;
while(t--)
{
cin>>L>>n>>C;
if(L<0&&n<0&&C<0)
break;
double mid,l=0.0,r=0.5*L;//0.5l方便取值
double L1=(1+n*C)*L;
while(r-l>1e-7)//防止进入死循环
{
mid=(l+r)/2;
double R=(4*mid*mid+L*L)/(8*mid);//见上图
if(2*R*asin(L/(2*R))<L1)//当杆的弯曲弧度大于L1,说明上界取小了
l=mid;
else
r=mid;
}
printf("Case %d: %.6lf\n",k++,mid);
}
return 0;
}