题意:

已知等腰三角形的高H,底边长B,这时有一个内切圆C,

以内切圆C和长度为B对应的角的角平分线的交点做切线.

切线与角平分线相交,此时切线,和俩边又会出现一个小的等腰三角形,也有一个小的内切圆C1,内切圆一直往上堆,直到内切圆的半径r<0.000001

计算内切圆,C0,C1...Cn的周长和,最后一个内切圆r>0.000001

画图,利用面积相等推算公式

#include<stdio.h>
#include<iostream>
#include <strstream>
#include<string>
#include<memory.h>
#include<math.h>
#include<sstream>
using namespace std;
#define pi M_PI;
int main()
{
//freopen("d:\\1.txt", "r", stdin);
int t;
cin>>t;
while(t--)
{
double B,H;
cin>>B>>H;
double b = B/2;
double a;
double r = b*H/(a+b);
double sum = 0.0;
while(r>0.000001)
{
a = sqrt(H*H+b*b);
r = b*H/(a+b);
if(r<0.000001)
break;
sum += M_PI*2*r;
H = H-2*r;
b = (a-b)*b/(a+b);
}
printf("%13.6f\n",sum);
if(t)
printf("\n");
}
}

  

UVA375的更多相关文章

随机推荐

  1. BZOJ3757: 苹果树【树上莫队】

    Description ​ 神犇家门口种了一棵苹果树.苹果树作为一棵树,当然是呈树状结构,每根树枝连接两个苹果,每个苹果都可以沿着一条由树枝构成的路径连到树根,而且这样的路径只存在一条.由于这棵苹果树 ...

  2. 新建Android一个项目-菜鸟篇

    ①打开Eclipse,单击菜单栏的“File”->把鼠标光标移动到“New”->在弹出的列表框中,如果直接能看到“Android Applicaion Project”选项项,则直接单击此 ...

  3. java语法基础练习

    1.阅读示例: EnumTest.java,并运行.分析结果 代码: public class EnumTest { public static void main(String[] args) { ...

  4. BZOJ2460,LG4570 [BJWC2011]元素

    题意 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力取决于使用的矿石. 一般地,矿石越多则法力越强,但物极必反:有 ...

  5. 给div加滚动条

    <div style="width:175px;height:100px;background:white;overflow:scroll;"> <span> ...

  6. 转 oracle 学习- 用户权限角色

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  7. tomcat源码阅读之部署器

    我们知道web应用是用Context实例表示的,而Context是部署到Host实例中的,因此tomcat的部署器是关联的Host实例.Context实例可以用WAR文件部署,也可以把整个web应用的 ...

  8. 【转】每天一个linux命令(26):用SecureCRT来上传和下载文件

    原文网址:http://www.cnblogs.com/peida/archive/2012/11/28/2793181.html 用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接 ...

  9. Oracle 补丁体系 及 opatch 工具 介绍

    一. CPU(Critical Patch Update) 一个CPU内包含了对多个安全漏洞的修复,并且也包括相应必需的非安全漏洞的补丁.CPU是累积型的,只要安装最新发布的CPU即可,其中包括之前发 ...

  10. Redis的多线程

    Redis是单线程内部机制,那么怎么实现并发?在单机上部署多个Redis实例.