Nhiệm vụ của bạn là lấy một mảng các số và một số thực và trả về giá trị tại điểm đó trong mảng. Mảng bắt đầu từ và được tính theo các khoảng . Điều quan trọng là, chúng ta thực sự sẽ nội suy giữa các yếu tố được đưa ra "chỉ mục". Ví dụ:
Index: 1π 2π 3π 4π 5π 6π
Array: [ 1.1, 1.3, 6.9, 4.2, 1.3, 3.7 ]
Bởi vì đó là , chúng ta phải thực hiện lượng giác bắt buộc, vì vậy chúng ta sẽ sử dụng phép nội suy cosin bằng công thức sau:
Ở đâu:
- là "chỉ mục" đầu vào
- is the value of the element immediately before the "index"
- is the value of the element immediately after the "index"
- takes its angle in radians
Example
Given [1.3, 3.7, 6.9], 5.3:
Index 5.3 is between and , so 1.3 will be used for before
and 3.7 will be used for after
. Putting it into the formula, we get:
Which comes out to 3.165
Notes
- Input and output may be in any convenient format
- You may assume the input number is greater than and less than
array length
* - You may assume the input array will be at least 2 elements long.
- Your result must have at least two decimal points of precision, be accurate to within 0.05, and support numbers up to 100 for this precision/accuracy. (single-precision floats are more than sufficient to meet this requirement)
Happy Golfing!