• 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
    ",sum);
    		if(t)
    			printf("
    ");
    	}
    }
    

      

  • 相关阅读:
    007_排序_多重排序
    Locust 运行模式
    Locust介绍
    Locust环境搭建及报错解决
    8-02全局变量与输出语句
    8-01变量
    7-15ALL、 ANY、SOME子查询
    7-14 EXISTS子查询
    7-13IN和NOT IN 子查询
    7-12简单子查询
  • 原文地址:https://www.cnblogs.com/shuiyonglewodezzzzz/p/6841523.html
Copyright © 2020-2023  润新知