海伦公式

三角形三边边长a,b,c,则p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));

 1 #include <cstdio>
2 #include <cstring>
3 #include <cmath>
4 const int Pi=4*acos(-1.0);
5 double r1,r2,r3;
6 double a,b,c;
7 double getarea(double a,double b,double c)
8 {
9 double p=a+b+c;
10 p/=2;
11 return sqrt(p*(p-a)*(p-b)*(p-c));
12 }
13 double gettarea(double a,double b,double c,double r)
14 {
15 double t=(a*a+b*b-c*c)/(2*a*b);
16 t=acos(t);
17 return t/2*r*r;
18 }
19 int main()
20 {
21 int T;
22 scanf("%d",&T);
23 for (int t=1;t<=T;t++)
24 {
25 scanf("%lf%lf%lf",&r1,&r2,&r3);
26 a=r1+r3;
27 b=r1+r2;
28 c=r2+r3;
29 double ans=getarea(a,b,c)-gettarea(a,b,c,r1)-gettarea(b,c,a,r2)-gettarea(a,c,b,r3);
30 printf("Case %d: %.9lf\n",t,ans);
31 }
32 return 0;
33 }

海伦公式,布布扣,bubuko.com

时间: 2024-11-05 21:28:00

海伦公式的相关文章

NYOJ 815 三角形【海伦公式】

/* 关键点:海伦公式 解题人:lingnichong 解题时间:2014-10-04 21:48:47 解题体会:海伦公式的使用 */ 三角形 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 在数学中,如果知道了三个点的坐标,我们就可以判断这三个点能否组成一个三角形:如果可以组成三角形,那么我们还可以求出这个三角形的面积.作为一个大学生,如果给你三个点的坐标,你能快速判断出这三个点能组成一个三角形吗?如果可以组成三角形,你能快速求出三角形的面积吗? 输入 第一行输

ACM: FZU 2148 Moon Game - 海伦公式

FZU 2148  Moon Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description Fat brother and Maze are playing a kind of special (hentai) game in the clearly blue sky which we can just consider as a kind of two-dimensio

三角形面积计算(海伦公式或叉积绝对值的一半)

#include <iostream> #include <cmath> using namespace std; struct Point { float x; float y; Point(float a, float b) : x(a), y(b) { } }; double Length(Point & A, Point & B) { return sqrt(pow(A.x - B.x, 2) + pow(A.y - B.y, 2)); } double A

(c语法百题34)海伦公式

知识点: 数学函数sqrt()的运用 头文件math.h记得加上 了解海伦公式 内容: 已知3边长,求三角形面积 输入说明: 一行 三个数 输出说明: 一行一个数(保留2位小数)或者是 Data Error!(不能构成三角形) 输入样例: 1 2 3 输出样例 : Data Error! #include <stdio.h> #include <math.h> int main() { float a,b,c,p,s; scanf("%f%f%f",&a

【TOJ 5255】C++实验:三角形面积(海伦公式)

描述 实现C++三角形类,其中包含3个点(CPoint类型),并完成求面积.主函数里的代码已经给出,请补充完整,提交时请勿包含已经给出的代码. int main() { CPoint p1, p2, p3; while(cin>>p1>>p2>>p3) { CTriangle t(p1, p2, p3); cout<<setiosflags(ios::fixed)<<setprecision(3)<<t.Area()<<e

python之海伦公式

# 三角形面积 之 海伦公式:S=P(p-a)(p-b)(p-c)**0.5 [备注:其中p是三角形的周长的一半p=(a+b+c)/2]def Striangle(a, b, c): p = (a + b + c) / 2 S=(p*(p - a)*(p - b)*(p - c))** 0.5 return S 原文地址:https://www.cnblogs.com/cainiaokuaikuaitiao/p/9634190.html

海伦公式求三角形垂线长度

/** * @Title: getVerticalVal * @Description: TODO(海伦公式求三角形垂线长度) * @param a 长度 * @param b 长度 * @param c 长度 * @return double 返回垂直线长度 * @throws */ private static double getVerticalVal(Double a,Double b,Double c){ double p=(a+b+c)/2; double k=p*(p-a)*(p-

三角形面积(海伦公式)

来自:http://www.oschina.net/code/snippet_149523_14180 描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积 输入 每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标.(坐标值都在0到10000之间)输入0 0 0 0 0 0表示输入结束测试数据不超过10000组 输出 输出这三个点所代表的三角形的面积,结果精确到小数点后1位(即使是整数也要输出一位小数位) 样例输入 0 0 1 1 1

Android开发笔记(一百零三)地图与定位SDK

集成地图SDK 国内常用的地图SDK就是百度和高德了,二者的用法大同小异,可按照官网上的开发指南一步步来.下面是我在集成地图SDK时遇到的问题说明: 1.点击基本地图功能选项,不能打开地图,弹出"key验证出错!请在AndroidManifest.xml文件中检查key设置的"的红色字提示.查看日志提示"galaxy lib host missing meta-data,make sure you know the right way to integrate galaxy&