给定s1, s2, s3... s_n
圆内接的n角的连续边长,请找到其面积。您可以假设该多边形存在。另外,多边形将是凸的并且不会自相交,这足以保证唯一性。禁止专门解决此挑战的内置函数以及用于计算外接圆或外接中心的内置函数(这与该挑战的先前版本不同)。
输入:循环多边形的边长;可以作为函数,stdin等的参数。
输出:多边形的面积。
答案应精确到小数点后六位,并且必须在合理的笔记本电脑上运行20秒。
这是代码高尔夫球,所以最短的代码获胜!
具体测试案例:
[3, 4, 5] --> 6
[3, 4, 6] --> 5.332682251925386
[3, 4, 6, 7] --> 22.44994432064365
[5, 5, 5, 5] --> 25
[6, 6, 6, 6, 6] --> 61.93718642120281
[6.974973020933265, 2.2393294197257387, 5.158285083300981, 1.4845682771595603, 3.5957940796134173] --> 21.958390804292847
[7.353566082457831, 12.271766915518073, 8.453884922273897, 9.879017670784675, 9.493366404245332, 1.2050010402321778] --> 162.27641678140589
测试用例生成器:
7
我知道找到外围的简单方法。
—
mIllIbyte
我知道找到边数的简单方法
—
Luis Mendo
考虑到半径,这个问题很容易实现,但是如果没有它,这将是非常困难的。
—
poi830 '16
如果少于五个面,也很容易,这在代码高尔夫中并不重要。
—
尼尔