使用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工具如何赋能教学创新?绵阳高新区(科技城直管区)举行DeepSeek实战培训
有没有一种味道甜的黑咖啡?
每天刷牙的重要性及正确方法全揭秘
牙周病需终身维护 定期检查是关键
量子力学的百年发展历程与未来展望
潜江市旅游必去十大景点有哪些?潜江市旅游景点排行榜前十名
五级工伤:详解我国工伤分类体系
摄影的艺术自由:在边界中寻找无限可能
HDMI切换器和HDMI分配器的区别
小儿脑炎治好后会复发吗?这些预防措施需谨记
发动机异响的故障定位诊断与排除
为何我们总是难以改变?——从心理学角度解读人性的顽固缺陷
彭州秋游好去处:这些林盘让你流连忘返
选择冲锋衣看防水面料,带你了解5大全球顶级防水透气科技面料
历史学家眼中的康熙皇帝
医生提醒:锌是提高免疫的必需元素,可以常吃这4类食物
游戏源码如何打开
桉树为什么要主动引发山火?植物中的“引雷针”,其实是为了生存
嫉妒与忌妒,一字之差,情绪天壤之别?
道家练气:修炼精、气、神的奥秘
税务责任追究是什么
r5 5600与i5 12400f:哪款处理器更适合你?
股票分红前后买卖技巧:时间窗口、策略选择与风险控制解析
福州地铁第三期规划细节全解读:5个重点项目提升城市交通
2024年国家、省级与地市级公务员考试差异解析:岗位特性对比