news 2026/6/15 21:34:28

UVa 438 The Circumference of the Circle

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 21:33:06

color-js颜色转换完全教程:RGB、HSV、HSL模型互转实战

color-js颜色转换完全教程&#xff1a;RGB、HSV、HSL模型互转实战 【免费下载链接】color-js A color management API for javascript 项目地址: https://gitcode.com/gh_mirrors/co/color-js color-js是一个强大的JavaScript颜色管理库&#xff0c;它提供了完整的RGB、…

作者头像 李华
网站建设 2026/6/9 13:18:35

Diablo Edit2终极指南:如何快速掌握暗黑破坏神2角色存档编辑

Diablo Edit2终极指南&#xff1a;如何快速掌握暗黑破坏神2角色存档编辑 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit Diablo Edit2是一款专为《暗黑破坏神2》玩家设计的开源角色存档编辑器&…

作者头像 李华
网站建设 2026/6/9 13:18:27

Kinetis KL34低功耗设计:电气特性解析与实战优化策略

1. Kinetis KL34电气特性深度解析与设计考量在嵌入式系统开发中&#xff0c;尤其是对功耗和可靠性有严苛要求的电池供电或便携式设备&#xff0c;选择一颗合适的微控制器只是第一步。真正决定项目成败的&#xff0c;往往是对这颗芯片“脾气秉性”的深刻理解。飞思卡尔&#xff…

作者头像 李华
网站建设 2026/6/9 13:13:10

Emby高级功能完全解锁:终极免费媒体服务器解决方案

Emby高级功能完全解锁&#xff1a;终极免费媒体服务器解决方案 【免费下载链接】emby-unlocked Emby with the premium Emby Premiere features unlocked. 项目地址: https://gitcode.com/gh_mirrors/em/emby-unlocked 想要免费享受完整的Emby Premiere高级功能吗&#…

作者头像 李华