UVa 375 - Inscribed Circles and Isosceles Triangles
2014-04-30 14:24
369 查看
传送门UVa 375 - Inscribed Circles and Isosceles Triangles
题意是给出一个等腰三角形的底B和高H,从低不断向上摞内接圆,要求最下面的内接圆必须与底和两腰相切,其他的圆必须与它下面的圆和两腰相切,直到达到所要求的精度,求出所有的圆的周长之和
连结圆心和三角形的顶点, 由三个三角形和大的三角形面积相等可以推出
r = 2S / (a + b + c)
之后再根据相似三角形可以得出每次的 r = r * k,
k = (1 - 2 * r / h)
详情见代码
#include <cstdio>
#include <cmath>
using namespace std;
const double pi = atan(1) * 4;
int main()
{
//freopen("input.txt", "r", stdin);
int T;
register double B, H, r, l, sum;
scanf("%d", &T);
while (T--)
{
sum = 0;
scanf("%lf%lf", &B, &H);
l = sqrt(B * B / 4 + H * H);
r = (B * H) / (2 * l + B);
const double k = 1 - 2 * r / H;
while (r >= 1e-6)
{
sum += r;
r *= k;
}
printf("%13.6f\n", 2 * pi * sum);
if (T)
printf("\n");
}
return 0;
}
题意是给出一个等腰三角形的底B和高H,从低不断向上摞内接圆,要求最下面的内接圆必须与底和两腰相切,其他的圆必须与它下面的圆和两腰相切,直到达到所要求的精度,求出所有的圆的周长之和
连结圆心和三角形的顶点, 由三个三角形和大的三角形面积相等可以推出
r = 2S / (a + b + c)
之后再根据相似三角形可以得出每次的 r = r * k,
k = (1 - 2 * r / h)
详情见代码
#include <cstdio>
#include <cmath>
using namespace std;
const double pi = atan(1) * 4;
int main()
{
//freopen("input.txt", "r", stdin);
int T;
register double B, H, r, l, sum;
scanf("%d", &T);
while (T--)
{
sum = 0;
scanf("%lf%lf", &B, &H);
l = sqrt(B * B / 4 + H * H);
r = (B * H) / (2 * l + B);
const double k = 1 - 2 * r / H;
while (r >= 1e-6)
{
sum += r;
r *= k;
}
printf("%13.6f\n", 2 * pi * sum);
if (T)
printf("\n");
}
return 0;
}
相关文章推荐
- uva 375 Inscribed Circles and Isosceles Triangles
- Uva 375 - Inscribed Circles and Isosceles Triangles
- UVA - 375 Inscribed Circles and Isosceles Triangles
- UVA 375 (暑假-几何 -B - Inscribed Circles and Isosceles Triangles)
- uva375 Inscribed Circles and Isosceles Triangles
- UVa 375 - Inscribed Circles and Isosceles Triangles
- uva 375 - Inscribed Circles and Isosceles Triangles
- uva375 Inscribed Circles and Isosceles Triangles
- Uva 375 - Inscribed Circles and Isosceles Triangles
- Uva 375 Inscribed Circles and Isosceles Triangles
- uva_375 - Inscribed Circles and Isosceles Triangles
- UVA 375 - Inscribed Circles and Isosceles Triangles
- UVa - 375 - Inscribed Circles and Isosceles Triangles
- UVA 375-Inscribed Circles and Isosceles Triangles#
- UVA 375 Inscribed Circles and Isosceles Triangles
- uva 375 Inscribed Circles and Isosceles Triangles 简单几何
- UVa 375 Inscribed Circles and Isosceles Triangles
- UVA - 375 Inscribed Circles and Isosceles Triangles
- UVa 375 Inscribed Circles and Isosceles Triangles (等腰三角形内切圆&规律)
- UVA - 375 Inscribed Circles and Isosceles Triangles