使用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),因为我们不使用任何额外空间。
热门推荐
《封神2》特效成新梗:燃气灶版殷郊爆笑出圈!
《封神第二部》角色设计揭秘:李云中原画集推荐
为什么地球选择了“碳基生命”,而非“硅基生命”?
宇宙中可能有四种生命存在形式
母爱缺失:从《都挺好》看孩子成长的隐痛
海安惠心志愿服务社:用爱弥补家庭教育缺失
朱玉:诚信经营的老板娘秘籍
老板娘如何塑造家族企业文化?
《肖申克的救赎》:最令人唏嘘的命运转折
从心理学角度看《哪吒》的角色成长:自我实现预言的东方演绎
张家湾古镇:古今同辉的文化新地标
为爱陪产:见证生命诞生的最美瞬间
《哪吒2》石矶娘娘为何出圈 反差萌征服观众
甘肃十大必去的免费景点
选调生入职基层:如何快速适应新角色?
柳叶刀发布最新综述:甲减的诊断和治疗
秋冬马桑种植技巧全攻略
秋冬养生新宠:岩马桑
马桑:从毒草到养生,一文读懂它的双重身份
揭秘嵩山少林寺:武术训练日常与文化教育并重
禅武合一:少林寺的千年传承与现代发展
珠海圆明新园:一座承载传统文化的皇家园林
进气道积碳如何清除干净?
请重视低速早燃现象,等活塞炸了就晚了
苏州十全街:4个自由行打卡的美食景点攻略
苏州人过年,不吃饺砸吃圆砸!
天籁两万公里保养指南:机油更换与常规检查详解
汽车更换机油的详细步骤
英文字母如何玩转现代艺术设计?
英文字母探秘:从腓尼基字母到现代英语的演变历程