您的任务是获取一个由数字和实数组成的数组,然后返回数组中该点的值。数组开始于 并计入 间隔。问题是,实际上我们将在给定“索引”的元素之间进行插值。举个例子:
Index: 1π 2π 3π 4π 5π 6π
Array: [ 1.1, 1.3, 6.9, 4.2, 1.3, 3.7 ]
因为它是 ,我们必须执行强制三角法,因此我们将通过以下公式使用余弦插值:
哪里:
- 是输入“索引”
- 是紧接在“索引”之前的元素的值
- 是紧接在“索引”之后的元素的值
- 以弧度表示的角度
例
给定[1.3,3.7,6.9],5.3:
索引5.3在和,因此将使用1.3 和3.7 。将其放入公式中,我们得到:before
after
得出3.165
笔记
- 输入和输出可以采用任何方便的格式
- 您可以假设输入数字大于且小于*
array length
- 您可以假设输入数组的长度至少为2个元素。
- 您的结果必须至少有两个小数点精度,精度必须在0.05以内,并且为此精度/精度支持的数字最多为100。(单精度浮子足以满足此要求)
高尔夫快乐!
8
仅供参考的高尔夫球手,重写可能会更短
—
xnor19
如 使用半角公式为 。
我可以带双打字典作为键吗?当然,双打将是整数。
—
无知的体现,
@EmbodimentofIgnorance,当然。我怀疑这是否会对您有所帮助,但这是数组的一种非常合理的表示形式,因为Lua就是这样做的。
—
Beefster
@KevinCruijssen我不明白为什么这么重要。3.7在pi和2pi之间。
—
Beefster