当前位置: 首页 > news >正文

UVa 438 The Circumference of the Circle

题目描述

题目要求计算经过平面上三个不共线点的圆的周长。给定三个点的笛卡尔坐标,求唯一经过这三点的圆的周长。

输入格式

输入包含多行,每行六个实数x1,y1,x2,y2,x3,y3x_1, y_1, x_2, y_2, x_3, y_3x1,y1,x2,y2,x3,y3,表示三个点的坐标。输入以文件结束符(EOF\texttt{EOF}EOF)终止。三点确定的圆直径不超过10610^6106

输出格式

对于每组输入,输出一行,包含圆的周长,精确到小数点后两位。

样例

输入

0.0 -0.5 0.5 0.0 0.0 0.5 0.0 0.0 0.1 1.0 1.0 5.0 5.0 5.0 7.0 4.0 6.0 0.0 0.0 -1.0 7.0 7.0 7.0 50.0 50.0 50.0 70.0 40.0 60.0 0.0 0.0 10.0 0.0 20.0 1.0 0.0 -500000.0 500000.0 0.0 0.0 500000.0

输出

3.14 4.44 6.28 31.42 62.83 632.24 3141592.65

题目分析

本题的核心是已知三角形三个顶点坐标,求其外接圆的周长。

外接圆半径公式

设三角形三边长为a,b,ca, b, ca,b,c,面积为SSS,则外接圆半径RRR为:
R=abc4S R = \frac{abc}{4S}R=4Sabc
周长C=2πRC = 2\pi RC=2πR

边长计算

使用欧几里得距离公式:
a=(x1−x2)2+(y1−y2)2,b=(x1−x3)2+(y1−y3)2,c=(x2−x3)2+(y2−y3)2 a = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}, \quad b = \sqrt{(x_1 - x_3)^2 + (y_1 - y_3)^2}, \quad c = \sqrt{(x_2 - x_3)^2 + (y_2 - y_3)^2}a=(x1x2)2+(y1y2)2,b=(x1x3)2+(y1y3)2,c=(x2x3)2+(y2y3)2

面积计算(海伦公式)

设半周长p=a+b+c2p = \frac{a + b + c}{2}p=2a+b+c,则面积:
S=p(p−a)(p−b)(p−c) S = \sqrt{p(p - a)(p - b)(p - c)}S=p(pa)(pb)(pc)

周长计算

circumference=2π⋅abc4S=πabc2S circumference = 2\pi \cdot \frac{abc}{4S} = \frac{\pi abc}{2S}circumference=2π4Sabc=2Sπabc

精度与输出

使用π≈3.141592653589793\pi \approx 3.141592653589793π3.141592653589793,输出保留两位小数。

复杂度分析

每组测试用例只需常数时间计算。

代码实现

// The Circumference of the Circle// UVa ID: 438// Verdict: Accepted// Submission Date: 2016-07-14// UVa Run Time: 0.000s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;constdoublePI=3.141592653589793;// 2.0 * acos(0.0);intmain(intargc,char*argv[]){ios::sync_with_stdio(false);cout.precision(2);doublex1,y1,x2,y2,x3,y3;while(cin>>x1>>y1>>x2>>y2>>x3>>y3){doublea=sqrt(pow(x1-x2,2)+pow(y1-y2,2));doubleb=sqrt(pow(x1-x3,2)+pow(y1-y3,2));doublec=sqrt(pow(x2-x3,2)+pow(y2-y3,2));doublep=(a+b+c)/2;doublecircumference=2*PI*(a*b*c/sqrt(p*(p-a)*(p-b)*(p-c))/4);cout<<fixed<<circumference<<endl;}return0;}
http://www.jsqmd.com/news/981395/

相关文章:

  • ISO 21434来了,你的车真的“安全“吗?
  • 终极指南:3分钟解决Windows软件运行库缺失问题
  • VisualCppRedist AIO:一站式解决Windows DLL缺失问题的终极指南
  • 2026杭州氛围感接发测评:细节工艺、层次设计与口碑综合对比 - 资讯焦点
  • 如何用SyncTrayzor实现Windows文件自动同步:3个核心场景与完整解决方案
  • 如何用my2sql实现MySQL数据闪回:5分钟掌握数据快速恢复技巧
  • 华为MetaERP完整、可落地、带控制点 + 会计分录 + 异常处理的 MetaERP PTP(采购到付款)端到端业务流程,完全对齐 Oracle EBS 设计哲学,但在实时性、多维度、自动化上更强。
  • 深入PyGTrie源码:核心节点结构与高效遍历算法解析
  • TurboPFor函数API详解:从基础编码到高级delta/zigzag变换
  • 别再到处找安装包了!手把手教你从官网下载并安装IDEA 2021.3.2(附学生认证白嫖激活码方法)
  • i.MX 6 UART与USB HSIC接口电气特性与PCB设计实战解析
  • 解析 MFR 小鼠:生物研究中的多维度探索
  • 奶茶店微信点餐小程序毕业设计资源包:含前端代码、后台系统、数据库与部署指南
  • 电力系统SOCP潮流对偶模型Matlab实操包:含理论文档、可运行代码与IEEE测试系统支持
  • i.MX51A FEC与IPU接口时序详解:硬件设计中的信号完整性实践
  • OpenCore Legacy Patcher:3步解锁老Mac的macOS新生
  • UVa 439 Knight Moves
  • 2026 年新房装修除甲醛公司推荐:按这 5 个标准选不踩坑 - 资讯焦点
  • Llama-3.3:多语言大模型的语系感知与锚点词约束原理
  • OBS Studio HDR配置终极指南:三步告别色彩混乱的完整方案
  • macOS音频处理技术革新:eqMac如何重新定义系统级均衡器体验
  • 如何快速上手Decompose:5步构建你的第一个跨平台计数器应用
  • Kronos金融大模型:重新定义量化投资的AI语言
  • MCU电气特性深度解析:从数据手册到低功耗设计实战
  • 济南新手小白手表回收全流程指南:六大平台实操,添价收标准化服务领先一步 - 薛定谔的梨花猫
  • Open UI5 源代码解析之1434:FixedList.js
  • 别再为Qt5.12安装发愁了!Win10下保姆级图文指南,从下载到配置一次搞定
  • CoffeeScript.tmbundle社区贡献指南:如何为开源TextMate插件提交代码和功能改进
  • 2026六氟化硫气体检测仪选购指南:高精准监测红榜,适配多场景安全需求 - 资讯焦点
  • 如何3步解决Windows运行库问题:智能管理工具的终极指南