当前位置: 首页 > 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.zskr.cn/news/1493128.html

相关文章:

  • 华为MetaERP完整、可落地、带控制点 + 会计分录 + 异常处理的 MetaERP PTP(采购到付款)端到端业务流程,完全对齐 Oracle EBS 设计哲学,但在实时性、多维度、自动化上更强。
  • 终极指南:3分钟解决Windows软件运行库缺失问题
  • 如何用SyncTrayzor实现Windows文件自动同步:3个核心场景与完整解决方案
  • i.MX 6 UART与USB HSIC接口电气特性与PCB设计实战解析
  • 奶茶店微信点餐小程序毕业设计资源包:含前端代码、后台系统、数据库与部署指南
  • 2026 年新房装修除甲醛公司推荐:按这 5 个标准选不踩坑 - 资讯焦点
  • 如何快速上手Decompose:5步构建你的第一个跨平台计数器应用
  • OBS Studio HDR配置终极指南:三步告别色彩混乱的完整方案
  • macOS音频处理技术革新:eqMac如何重新定义系统级均衡器体验
  • Open UI5 源代码解析之1434:FixedList.js
  • MCU电气特性深度解析:从数据手册到低功耗设计实战
  • CoffeeScript.tmbundle社区贡献指南:如何为开源TextMate插件提交代码和功能改进
  • 2026六氟化硫气体检测仪选购指南:高精准监测红榜,适配多场景安全需求 - 资讯焦点
  • 2026电子锁品牌推荐:严选靠谱品牌,安全与智能全维度覆盖 - 资讯焦点
  • 2026年6月浙江衬氟控制阀厂家最新推荐榜单:耐腐蚀、密封强、工艺精良,优质源头厂家深度解析! - 企业推荐官【官方】
  • i.MX RT1064电气特性解析:硬件设计的“宪法”与工程实践
  • Maya glTF插件完整教程:从专业3D创作到Web应用的无缝桥梁
  • 遗传算法工程实践:选择策略、交叉算子与变异率深度解析
  • 5分钟快速部署APITable:开源数据库与协作工具的完整安装指南
  • OBS多平台直播插件终极指南:一站式解决多平台推流难题
  • 喜马拉雅音频批量下载完整方案:xmly-downloader-qt5使用指南
  • 3分钟永久激活Beyond Compare 5:开源密钥生成工具终极指南
  • 2026京东苹果手机大额优惠券618消费券国补专属口令哪里领取? 数码家电优惠全攻略 - 资讯焦点
  • 如何构建离线网站档案馆:HTTrack网站镜像工具深度探索指南
  • Kinetis KL16电气特性与低功耗设计实战解析
  • Python前缀树最佳实践:使用PyGTrie优化自动补全与搜索功能
  • Tiktokenizer对比分析:DeepSeek R1与Qwen2.5分词器技术解析
  • LPC185x系列MCU功耗与电气特性深度解析与设计实战指南
  • 嵌入式系统时钟与ADC设计:从K60数据手册到高精度测量实践
  • 网盘直链下载助手终极指南:告别限速,一键获取高速下载链接