UVa 375 Inscribed Circles and Isosceles Triangles

发布时间:2026/6/3 13:26:13

UVa 375 Inscribed Circles and Isosceles Triangles 题目描述给定两个实数BBB等腰三角形底边的宽度英寸HHH等腰三角形的高英寸计算一系列内切圆的周长之和这些圆从底边到顶部依次堆叠最低的内切圆与底边和两腰相切下一个更高的内切圆与下方的内切圆和两腰相切依此类推直到最小圆的半径小于0.0000010.0000010.000001输入格式第一行是一个正整数nnn表示测试用例的数量。每个测试用例一行包含两个正实数BBB和HHH。输出格式对于每个测试用例输出一个实数121212位有效数字其中666位小数表示所有内切圆周长之和。样例输入1 0.263451 0.263451样例输出0.827648题目分析问题的本质这是一个几何级数求和问题。在等腰三角形中从底边开始依次向上堆叠内切圆每个圆都与两腰相切并与下方的圆相切。需要计算所有圆的周长之和。几何关系等腰三角形的底边BBB高HHH腰长L(B/2)2H2L \sqrt{(B/2)^2 H^2}L(B/2)2H2​。第一个圆最低内切于等腰三角形圆心在角平分线交点上半径r1B×HB4H2B2r_1 \frac{B \times H}{B \sqrt{4H^2 B^2}}r1​B4H2B2​B×H​后续圆每个新的圆都内切于上方剩余的小等腰三角形新三角形与原三角形相似半径递减比例恒定半径递推关系设第iii个圆的半径为rir_iri​其对应的等腰三角形高为HiH_iHi​底边为BiB_iBi​。由相似性ri1riHi−2riHi2ri \frac{r_{i1}}{r_i} \frac{H_i - 2r_i}{H_i 2r_i}ri​ri1​​Hi​2ri​Hi​−2ri​​迭代终止条件当r0.000001r 0.000001r0.000001时停止。参考代码// Inscribed Circles and Isosceles Triangles// UVa ID: 375// Verdict: Accepted// Submission Date: 2016-07-03// UVa Run Time: 0.040s//// 版权所有C2016邱秋。metaphysis # yeah dot net#includebits/stdc.husingnamespacestd;constdoublePI2*acos(0.0);intmain(intargc,char*argv[]){ios::sync_with_stdio(false);doublen,B,H,sumOfR,r;cinn;coutfixedsetprecision(6);for(inti1;in;i){cinBH;// 测试用例间空行if(i1)coutendl;sumOfR0.0;// 第一个内切圆半径rH*B/(Bsqrt(4*H*HB*B));// 累加半径直到小于阈值while(r0.000001){sumOfRr;H-2*r;// 剩余三角形高度rr*H/(H2*r);// 下一个圆的半径}// 输出周长之和右对齐 13 位coutrightsetw(13)(2.0*PI*sumOfR)endl;}return0;}

相关新闻