Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define MAX(a,b) ((a)>(b)?(a):(b))
- #define MIN(a,b) ((a)<(b)?(a):(b))
- #define filer() freopen("in.txt","r",stdin)
- #define filew() freopen("out.txt","w",stdout)
- #define SET(a, x) memset((a), (x), sizeof(a))
- #define ll long long
- #include<iostream>
- #include<stdio.h>
- #include<string.h>
- #include<math.h>
- #include<algorithm>
- #include<queue>
- #include<stack>
- #include<vector>
- using namespace std;
- int main()
- {
- //filer();
- double L,n,C,arc,hi,lo,mid,r2,r1,d,a;
- int T,cas=0;
- scanf("%d",&T);
- while(T--)
- {
- scanf("%lf%lf%lf",&L,&n,&C);
- if(L<0 && n<0 &&C<0)break;
- arc=(1+(n*C))*L;
- //printf("%lf\n",arc);
- hi=(acos(-1)/2.00);
- //printf("%lf\n",hi);
- lo=1e-9;
- while(fabs(hi-lo)>1e-9)
- {
- mid=(hi+lo)/2.0;
- r1=arc/(2.0*mid);
- r2=L/(2*sin(mid));
- //printf("%lf %lf %lf %lf\n",r1,r2,mid,fabs(r1-r2));
- if(fabs(r1-r2)<1e-7)
- {
- a=r2-(r2*cos(mid));
- printf("Case %d: %.6lf\n",++cas,a);
- break;
- }
- else if(r1>r2)lo=mid+1e-7;
- else hi=mid-1e-7;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement