• poj2546Circular Area(两圆相交面积)


    链接

    画图推公式 

    这两种情况 都可用一种公式算出来 就是两圆都求出圆心角 求出扇形的面积减掉三角形面积 

    #include <iostream>
    using namespace std;
    #include<cmath>
    #include<iomanip>
    #include<algorithm>
    int main()
    {
        double d,t,t1,s,x,y,xx,yy,r,rr;
        while(cin>>x>>y>>r)
        {
            cin>>xx>>yy>>rr;
            d=sqrt((x-xx)*(x-xx)+(y-yy)*(y-yy));
            if(d>=r+rr) s=0;
            else if(d<=fabs(r-rr)) s=min(acos(-1.0)*r*r,acos(-1.0)*rr*rr);
            else   
            {t=(r*r+d*d-rr*rr)/2.0/d;
            t1=sqrt(r*r-t*t);
            s=-d*t1+r*r*acos(t/r)+rr*rr*acos((d-t)/rr);
            }
            cout<<fixed<<setprecision(3)<<s<<endl;
        }
        return 0;
    } 
  • 相关阅读:
    微博Feed流
    朋友圈
    Go命令行—compile
    Practical Go: Real world advice for writing maintainable Go programs
    Nginx Cache-Control
    Redis 主从复制
    JAVA
    Tomcat
    Tomcat
    CentOS 7
  • 原文地址:https://www.cnblogs.com/shangyu/p/3874984.html
Copyright © 2020-2023  润新知