Ваше завдання - взяти масив чисел і реальне число і повернути значення в той момент в масиві. Масиви починаються о і зараховуються в інтервали. Річ у тому, що ми насправді збираємось інтерполювати між елементами, заданими "індексом". Як приклад:
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 для цієї точності / точності. (одноточних поплавців більш ніж достатньо для задоволення цієї вимоги)
Щасливого гольфу!