UVA375

题意:

已知等腰三角形的高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");
	}
}

  

posted on 2017-05-11 16:27 好吧,就是菜菜 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/shuiyonglewodezzzzz/p/6841523.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值