So Easy[Ⅰ]
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
2
- 描述
-
给出任意一个三角形的三个边a,b,c。
要求:求出这个三角形的外接圆半径。
- 输入
-
输入数据有多组。
每行有三个数a,b,c(0<a,b,c<100) - 输出
- 输出一行单独的一个数表示三角形的的外接圆半径,输出保留两位小数。(不要输出多余的信息)
- 样例输入
-
3 4 5
- 样例输出
-
2.50
这个题感觉主要靠数学知识来求解,已知三角形三边怎么求外接圆半径,我自己推导半天没有什么进展,然后还是百度的公式就把这个题办了,AC代码如下:
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int main() { int a,b,c; double p,r; while(~scanf("%d %d %d",&a,&b,&c)){ p = (a + b + c) / 2.0;//注意转换类型,第一次交没转就wrong answer了 r = a * b * c / (4 * (sqrt(p * (p - a)*(p - b)*(p - c)))); printf("%.2f\n",r); } return 0; }