使用C++和余弦定理计算三角形第三边
创作时间:
作者:
@小白创作中心
使用C++和余弦定理计算三角形第三边
引用
CSDN
1.
https://m.blog.csdn.net/hefeng_aspnet/article/details/144349757
给定两条边 A、B 和夹角 C,可以使用余弦定理来计算三角形的第三边。余弦定理的公式如下:
假设 a、b、c 是三角形的边,其中 c 是角 C 对面的边。则有:
c^2 = a^2 + b^2 - 2ab*cos(C)
或
c = sqrt(a^2 + b^2 - 2ab*cos(C))
接下来,我们通过一个C++程序来实现这个计算过程:
// CPP program to find third side of triangle using law of cosines
#include <bits/stdc++.h>
using namespace std;
// Function to calculate cos value of angle c
float cal_cos(float n)
{
float accuracy = 0.0001, x1, denominator, cosx, cosval;
// Converting degrees to radian
n = n * (3.142 / 180.0);
x1 = 1;
// Maps the sum along the series
cosx = x1;
// Holds the actual value of sin(n)
cosval = cos(n);
int i = 1;
do {
denominator = 2 * i * (2 * i - 1);
x1 = -x1 * n * n / denominator;
cosx = cosx + x1;
i = i + 1;
} while (accuracy <= fabs(cosval - cosx));
return cosx;
}
// Function to find third side
float third_side(int a, int b, float c)
{
float angle = cal_cos(c);
return sqrt((a * a) + (b * b) - 2 * a * b * angle);
}
// Driver program to check the above function
int main()
{
float c = 49;
int a = 5, b = 8;
// function call
cout << third_side(a, b, c);
return 0;
}
运行上述程序,输出结果为:
6.04339
时间复杂度:O(log(n)),因为使用内置 sqrt 函数
辅助空间:O(1),因为我们不使用任何额外空间。
热门推荐
出乎预料的强大:军方证实今年举行阅兵,各兵种都有什么新武器?
什么是好域名
蓝牙基础知识和相关测试标准
如何安全地打破汽车玻璃?这种紧急情况下的操作有何注意事项?
养老金账户的开户流程是什么?
AI在教育领域的未来:智能导师还是学生助手?
交通运输工具对环境的影响及其对气候变化的贡献
建网站用云服务器的可行性评估
如何提升家居生活的舒适度?这种舒适度怎样长久保持?
天龙八部中的灵魂人物,阿朱——侠义与柔情的完美结合
后巩膜加固术术后注意事项全解析
有机合成中常考的20个有机反应机理
Nature:避孕药对大脑的影响:一位研究者自我扫描75次揭开谜团
老司机14年经验谈:自驾游车型选购全攻略
肥胖症诊疗有了国家版指南,7种饮食方案哪个适合你?
AI时代,大学语文课不被需要了吗?
《英雄联盟》S赛历届冠军奖金详细介绍
建设工程质量责任的主体、条件及证明
“离职后配合工作”承诺书,该不该签?
工作多久签长期劳动合同:法律要点与实务操作深度解析
新智能制造产业领域自动化技术研究与应用
海外仓系统如何实现智能化库存管理?
我比较了200种日常蔬菜,这几样太优秀了!
传染性疾病的症状有哪些
耳道炎和中耳炎的区别
如何缓解患者做消化内镜的紧张情绪?
如何科学评估孩子的身高体重是否符合年龄标准
新媒体运营工具:如何选择合适的创作管理工具
小户型显大秘诀:轻硬装重软装的4个避坑指南,空间质感翻倍
如何找到主板上的BIOS电池位置?