openjudge(三)
已知三角形的三边分别是a、b、c,
先算出周长的一半s=1/2(a+b+c)
则该三角形面积S=根号[s(s-a)(s-b)(s-c)]
这个公式叫海伦——秦九昭公式
证明:
设三角形的三边a、b、c的对角分别为A、B、C,
则根据余弦定理c²=a²+b²-2ab·cosC,得
cosC = (a²+b²-c²)/2ab
S=1/2*ab*sinC
=1/2*ab*√(1-cos²C)
=1/2*ab*√[1-(a²+b²-c²)²/4a²b²]
=1/4*√[4a²b²-(a²+b²-c²)²]
=1/4*√[(2ab+a²+b²-c²)(2ab-a²-b²+c²)]
=1/4*√{[(a+b)²-c²][c²-(a-b)²]}
=1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)]
设s=(a+b+c)/2
则s=(a+b+c), s-a=(-a+b+c)/2, s-b=(a-b+c)/2, s-c=(a+b-c)/2,
上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16]
=√[s(s-a)(s-b)(s-c)]
所以,三角形ABC面积S=√[s(s-a)(s-b)(s-c)]
#include <iostream>
#include<math.h>
#include<iomanip>
using namespace std;
float square(float x1,float y1,float x2,float y2,float x3,float y3)
{
float a,b,c,s,ss;
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
s=(a+b+c)/2;
ss=sqrt(s*(s-a)*(s-b)*(s-c));
return ss;
}
int main()
{
float a,b,c,d,e,f,ss;
cin>>a>>b>>c>>d>>e>>f;
ss=square(a,b,c,d,e,f);
cout<<fixed<<setprecision(2)<<ss<<endl;
return 0;
}
在c++中求2^6可以用#include<cmath>库文件,中的pow函数。函数原型是double pow(double base,double exp)。
#include <iostream>
#include<math.h>
#include<iomanip>
using namespace std;
int main()
{
int n;
cin>>n;
int result=pow(2,n);
cout<<result<<endl;
return 0;
}
openjudge(三)的更多相关文章
- [OpenJudge 3066]随机序列
[OpenJudge 3066]随机序列 试题描述 Bob喜欢按照如下规则生成随机数: 第一步:令a[0] = S, 当n = 0: 第二步:a[n+1] = (a[n]*A+B)%P: 第三步:如果 ...
- [OpenJudge 3064]坠落的蚂蚁
[OpenJudge 3064]坠落的蚂蚁 试题描述 一根长度为1米的木棒上有若干只蚂蚁在爬动.它们的速度为每秒一厘米或静止不动,方向只有两种,向左或者向右.如果两只蚂蚁碰头,则它们立即交换速度并继续 ...
- [OpenJudge 3063]罪犯问题
[OpenJudge 3063]罪犯问题 试题描述 一天,警官抓获了N个嫌犯,审问N个罪犯的途中,作为警长助手的你突然发现其中被确定为罪犯的K号人是你曾经出生入死的兄弟,你不能眼睁睁看着他被抓进牢里. ...
- OpenJudge计算概论-比饭量【枚举法、信息数字化】
/*====================================================================== 比饭量 总时间限制: 1000ms 内存限制: 655 ...
- Poj OpenJudge 百练 1062 昂贵的聘礼
1.Link: http://poj.org/problem?id=1062 http://bailian.openjudge.cn/practice/1062/ 2.Content: 昂贵的聘礼 T ...
- OpenJudge/Poj 1661 帮助 Jimmy
1.链接地址: bailian.openjudge.cn/practice/1661 http://poj.org/problem?id=1661 2.题目: 总Time Limit: 1000ms ...
- OpenJudge/Poj 1191 棋盘分割
1.链接地址: http://bailian.openjudge.cn/practice/1191/ http://poj.org/problem?id=1191 2.题目: 总时间限制: 1000m ...
- OpenJudge 2803 碎纸机 / Poj 1416 Shredding Company
1.链接地址: http://poj.org/problem?id=1416 http://bailian.openjudge.cn/practice/2803 2.题目: 总时间限制: 1000ms ...
- Poj 1054 The Troublesome Frog / OpenJudge 2812 恼人的青蛙
1.链接地址: http://poj.org/problem?id=1054 http://bailian.openjudge.cn/practice/2812 2.题目: 总时间限制: 10000m ...
随机推荐
- Excel 2010高级应用-折线图(二)
在Excel中画折线图,具体操作过程如下: 1.新建一个excel文件,双击打开 2.单击"插入",找到折线图,单击下拉框 3.在折线框下方,新建数据源 4.鼠标右键,选择&quo ...
- JSP中的编译指令和动作指令的区别
JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本, ...
- ORA-00900: invalid SQL statement
1.错误描述 SQL> startup; startup ORA-00900: invalid SQL statement 2.错误原因 3.解决办法
- freemarker.template.TemplateException:Error executing macro:mainSelect
1.错误描述 freemarker.template.TemplateException:Error executing macro:mainSelect require parameter:id i ...
- Python与Memcached交互
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...
- java实现多线程三种方法
1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法 3.实现callable接口,重写call方法
- 学习Opencv Chat3
基础结构体 int x,y Float x,y; Int width,height int x,y,width,height double val[4] 这里为RGBA的值 typedef struc ...
- Windows10 + Matlab2013 mex C++ 调用gsl
最前面啰嗦一句,matlab默认编译c的编译器有点奇怪,会出现引用.h却找不到相应函数的问题,解决方法是把.c全部都改成.cpp!血的教训! 下面进入正题~~ 由于Matlab调用的C函数中引用了GS ...
- 【SHOI2012】魔法树(树链剖分,线段树)
[SHOI2012]魔法树 题面 BZOJ上找不到这道题目 只有洛谷上有.. 所以粘贴洛谷的题面 题解 树链剖分之后直接维护线段树就可以了 树链剖分良心模板题 #include<iostream ...
- [BZOJ4372]烁烁的游戏
题面戳我 题意: 给一颗n个节点的树,边权均为1,初始点权均为0,m次操作: Q x:询问x的点权. M x d w:将树上与节点x距离不超过d的节点的点权均加上w. \(1≤n≤10^5\) sol ...