• joj 1184


       用得非常笨的方法:

    #include<iostream>
    #include<stdio.h>
    #include<math.h>
    using namespace std;
    #define  pi 3.141592653589793
    int main()
    {
        double a1,a2,a3,b1,b2,b3,x,y;
        while(scanf("%lf%lf%lf%lf%lf%lf",&a1,&b1,&a2,&b2,&a3,&b3)!=EOF)
        {
            double p1=2*a2-2*a1;
            double p2=b2*b2-b1*b1+a2*a2-a1*a1;
            double p3=2*b1-2*b2;
            double q1=2*a3-2*a1;
            double q2=b3*b3-b1*b1+a3*a3-a1*a1;
            double q3=2*b1-2*b3;
           // cout<<p1<<" "<<p2<<" "<<p3<<" "<<q1<<" "<<q2<<" "<<q3<<endl;
            double m=(q1*p3-p1*q3);
            double n=p1;
            if(m!=0&&n!=0)
            {
                y=(q2*p1-p2*q1)/(q1*p3-p1*q3);
                x=(p2+p3*y)/p1;
            }
            else if(m!=0&&n==0)
            {
                y=(q2*p1-p2*q1)/(q1*p3-p1*q3);
                x=(q2+q3*y)/q1;
            }
            double l=sqrt((x-a1)*(x-a1)+(y-b1)*(y-b1));
            //cout<<l<<endl;
            double c=2*pi*l;
            printf("%.2lf\n",c);
        }
    }

    找的大牛的代码  利用同弧圆周角相等  再加上一边直径则圆周角为90度求出来的   自己果然差的好远啊

    #include<iostream>
    #include<cmath>
    #define pi 3.141592653589793
    using namespace std;
    int main()
    {
    double x1,y1,x2,y2,x3,y3,a,b,c;
    while(cin>>x1>>y1>>x2>>y2>>x3>>y3)
    {
       a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
       b=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
       c=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
       printf("%.2f\n",2*pi*a*b*c/(sqrt((a+b+c)*(a+b-c)*(b+c-a)*(a+c-b))));
    }
    return 0;
    }

  • 相关阅读:
    面向对象下
    面向对象上
    将博客搬至CSDN
    矩阵的常用术语和操作
    python2.7 Unable to find vcvarsall.bat
    intellij创建maven web项目
    intellij 编译 springmvc+hibernate+spring+maven 找不到hbm.xml映射文件
    spring Thymeleaf 中文乱码
    visualstudiocode 调试electron
    android反编译工具总结
  • 原文地址:https://www.cnblogs.com/dchipnau/p/4985963.html
Copyright © 2020-2023  润新知