标签:des style class blog c code
输入包含多组数据,EOF结束。
每组数据包含一行,分别是两个实数w和h代表矩形的长和宽。
0<w,h<10000
2.000 1.000
0.500
(前提w>=h)当W>=2*h时,r=h/2; 当w<2*h时,两圆在巨型内斜着紧靠着,并两圆紧贴着边,根据计算可得 r*r-(w+h)*r+(w*w+h*h)/4=0 再解方程。
#include<stdio.h> #include<math.h> int main() { double w,h,r,r1,b,c; while(scanf("%lf%lf",&w,&h)!=EOF) { if(w<h) { r=w; w=h; h=r; } if(w>=2*h) r=h/2; else { b=-(w+h); c=(w*w+h*h)/4.0; r=(-b+sqrt(b*b-4*c))/2; r1=(-b-sqrt(b*b-4*c))/2; if(r>h/2||r<r1&&r1<=h/2)r=r1; } printf("%.3lf\n",r); } }
acd the cover circle(分情况讨论),布布扣,bubuko.com
标签:des style class blog c code
原文地址:http://blog.csdn.net/u010372095/article/details/26823429