通过连接常规n面多边形的侧面的中点形成的两个嵌套多边形的面积的比例
给予A.ns多边形,任务是找到该区域的比率NTH.至(n + 1)TH.N常规嵌套多边形通过加入原始多边形侧面的中点而产生。
例子 :
输入:n = 3.
输出:4.000000
解释:![]()
嵌套三角形
通过将三角形的中点与原始三角形侧的长度连接的侧面的长度为0.5。因此,r =(n的区域TH.三角形)/((n + 1)的区域TH.三角形)= 4
输入:n = 4.
输出:2.000000
方法:问题可以根据以下观察解决:
- 考虑一个N常规多边形如下图所示。
- a = 2 *π/ n
b =π/ n
h = r * cos(b)
b = h * cos(b)
C = H((1 - COS(a))/ 2)1/2 - 黑色地区等腰三角形:
- 红色等腰三角形的区域:
- r = s /(2 * [1 - cos(2b)])1/2和b = r * [cos(b)]2
- 结合上述等式后:
- 获得的最终结果如下:
以下是实施上述方法:
C ++
// c ++代码以上方法
#include
使用
命名空间
STD;
//函数计算比率
//第n个和(n + 1)的区域嵌套
//通过连接中点形成的多边形
空白
aceactor(
㈡
ñ)
{
//存储pi的值
双倍的
PI = 3.14159265;
//计算区域因子
双倍的
Areaf = 1 /(
COS.
(别针)
*
COS.
(别针));
//打印比率
//精确到6位小数点
cout <<修正了<< setPrecision(6)
<< Areaf << endl;
}
//驱动程序代码
㈡
主要的()
{
㈡
n = 4;
面积活动(n);
返回
0;
}
|
输出:
2.000000
时间复杂性:O(1)
辅助空间:O(1)
注意读者!现在不要停止学习。掌握与竞争性规划的所有重要数学概念CP课程的基本数学以学生友好188bet2021欧洲杯的价格。要完成您的准备,请从学习语言到DS ALGO等等,请参阅完整的面试准备课程金宝搏188beat。