zoukankan      html  css  js  c++  java
  • standing

    2bc*cosA=b^2+c^2-a^2

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    const double pi=3.1415926535898;//我不明白他为什么会卡精度
    int t;
    double x1,y,r1,x2,y2,r2,s,a,b,c,k,m,w,p;
    int main()
    {
        scanf("%d",&t);
        while(t--)
        {
            scanf("%lf%lf%lf%lf%lf%lf",&x1,&y,&r1,&x2,&y2,&r2);
            double d=sqrt((x2-x1)*(x2-x1)+(y2-y)*(y2-y);
            if(d>=(r1+r2))//两圆相离 
                s=pi*r1*r1+pi*r2*r2;
            else 
              if(d<abs(r1-r2))//两圆内含 
                s=max(pi*r1*r1,pi*r2*r2);
            else//两圆相交 
              {
                s=r1*r1*pi+pi*r2*r2;
                k=sqrt((x1-x2)*(x1-x2)+(y-y2)*(y-y2));
                
                w=(r1*r1+k*k-r2*r2)/(2*r1*k);
                p=2*acos(w);
                s-=((p*r1*r1)/2-sin(p)*r1*r1/2);
                
                w=(r2*r2+k*k-r1*r1)/(2*r2*k);
                p=2*acos(w);
                s-=((p*r2*r2)/2-sin(p)*r2*r2/2);
             }
            printf("%.3lf
    ",s);
        }
        return 0;
    }
    只要数学学得好代码就打得好
    I'm so lost but not afraid ,I've been broken and raise again
  • 相关阅读:
    vue 之 vuex
    vue中this.$router.push() 传参
    ES6新特性
    css优先级
    创建第一个vue工程
    对Vue.js的认知
    前端的认知与见解
    Web前端常见问题
    数据库如何进行索引优化
    Python FAQ
  • 原文地址:https://www.cnblogs.com/sjymj/p/5932990.html
Copyright © 2011-2022 走看看