当前位置:网站首页 > Haskell函数式编程 > 正文

海伦公式(附一种证明方法)

目录

前言

一、证明(勾股定理)

二、C 语言代码实现



前言

海伦公式又译为希伦公式,它是利用三角形的三条边的边长直接求三角形面积的公式。公式为:S = \sqrt{p(p-a)(p-b)(p-c)},其中 a、b、c 为三角形三条边的边长,p 为半周长,即 p = (a + b + c) / 2。

一、证明(勾股定理)

 如上图所示,则有:

 c^2 - x^2 = b^2 - (a-x)^2

解得:

x = \frac{a^2 - b^2 + c^2}{2a}

那么:

h = \sqrt{c^2 - x^2} = \sqrt{c^2 - (\frac{a^2 - b^2 + c^2}{2a})^2}

S = \frac{ah}{2} = \sqrt{\frac{a^2}{4}(c + \frac{a^2 - b^2 + c^2}{2a})(c - \frac{a^2 - b^2 + c^2}{2a})}

= \sqrt{\frac{a^2}{4}(\frac{2ac+a^2-b^2+c^2}{2a})(\frac{2ac-a^2+b^2-c^2}{2a})}

= \sqrt{\frac{a^2}{4}[\frac{(a+c)^2-b^2}{2a}][\frac{b^2-(a-c)^2}{2a}]} 

= \sqrt{\frac{(a+b+c)(a-b+c)(a+b-c)(b+c-a)}{16}} 

= \sqrt{(\frac{a+b+c}{2})[\frac{(a+b+c)-2a}{2}][\frac{(a+b+c)-2b}{2}][\frac{(a+b+c)-2c}{2}}] 

=\sqrt{p(p-a)(p-b)(p-c)}

二、C 语言代码实现

#include <stdio.h> #include <math.h> int main() { double a = 0.0; double b = 0.0; double c = 0.0; scanf("%lf %lf %lf", &a, &b, &c); if (a + b > c && a + c > b && b + c > a) // 三角形任意两边之和大于第三边 { double p = (a + b + c) / 2; double area = sqrt(p * (p - a) * (p - b) * (p - c)); printf("%lf\n", area); } else { printf("输入有误,无法构成三角形\n"); } return 0; }
到此这篇海伦公式(附一种证明方法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 电脑技巧:台式机噪音非常大的几个原因以及解决办法2024-11-25 07:45:10
  • 硕士研究生毕业论文书写格式总结2024-11-25 07:45:10
  • 为虾米下载《分布式网站负载压力测试工具》变成了《黄色小说》?2024-11-25 07:45:10
  • 韩式多用动态图(浪漫情侣)2024-11-25 07:45:10
  • 英语中apartment(公寓)(美式)、house(房子)、flat(公寓)(英式)、villa(别墅)、room(房间)区别2024-11-25 07:45:10
  • mysql8.XXX版本以后重置密码,修改加密方式解决Authentication plugin 'XXX' cannot be loaded问题2024-11-25 07:45:10
  • 如何开启深色模式【攻略】2024-11-25 07:45:10
  • phpstorm开启debug断点调试模式2024-11-25 07:45:10
  • uniapp和微信小程序修改rich-text里面图片样式2024-11-25 07:45:10
  • centos7下安装FastDFS分布式文件存储系统2024-11-25 07:45:10
  • 全屏图片