• ACM_圆的面积


    圆的面积

    Time Limit: 2000/1000ms (Java/Others)

    Problem Description:

    AB是圆O的一条直径,CD、EF是两条垂直于AB的弦,并且以CD为直径的半圆和以EF为直径的半圆正好切于点T。
    给定CD和EF的长度,求圆O的面积(Pi取3.1416)。
    

    Input:

    输入包含多组测试数据,每组测试数据输入两个数a(1<=a,b<=10^5),b代表CD和EF的长度。

    Output:

    对于每组数据,输出圆O的面积,保留两位小数。

    Sample Input:

    3 5
    2 3
    

    Sample Output:

    26.70
    10.21
    解题思路:由题意得CD、EF这两条边是一定不会重合的,即在圆心的两侧。假设a=CD/2,b=EF/2,r为所求圆的半径,则当a==b时,由对称性可得r=√(2)*a,此时S=πr2=2*πa2;当a!=b时,有重叠的部分OT,列式子有:a-√(r2-a2)=b-√(r2-b2),化简得r2=a2+b2;所以此时S=π*(a2+b2),推导完毕。
    AC代码:
     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define PI 3.1416
     4 int main()
     5 {
     6     double x,a,b;
     7     while(cin>>a>>b){
     8         a/=2.0;b/=2.0;
     9         if(a==b)x=2*a*a*PI;
    10         else x=(a*a+b*b)*PI;
    11         cout<<setiosflags(ios::fixed)<<setprecision(2)<<x<<endl;
    12     }
    13     return 0;
    14 }
  • 相关阅读:
    让Python支持中文注释
    【转】python入门指引
    【转】布同:如何循序渐进学习Python语言
    在nagios中监控windows主机系统地址的状态
    大神
    music
    20·15-01-21
    2015-01-20
    2015-01-19
    2015-01-18
  • 原文地址:https://www.cnblogs.com/acgoto/p/9031881.html
Copyright © 2020-2023  润新知