Göreviniz bir sayı dizisi ve gerçek bir sayı almak ve dizideki o noktada değeri döndürmektir. Diziler ve sayılır aralıkları. Aslında "indeks" verilen öğeler arasında enterpolasyon yapacağız. Örnek olarak:
Index: 1π 2π 3π 4π 5π 6π
Array: [ 1.1, 1.3, 6.9, 4.2, 1.3, 3.7 ]
Çünkü o , zorunlu trigonometri yapmamız gerekiyor, bu nedenle aşağıdaki formülü kullanarak kosinüs enterpolasyonunu kullanacağız:
nerede:
- "dizin" girdisidir
- , öğenin "index" den hemen önceki değeridir
- , "index" den hemen sonra öğenin değeridir
- açısını radyan cinsinden alıyor
Misal
[1.3, 3.7, 6.9], 5.3 verildi:
Dizin 5.3 ile arasında olduğundan 1.3 için kullanılacak ve 3.7 için kullanılacaktır . Formüle koyarak şunu elde ederiz:before
after
Hangi 3.165 çıkıyor
notlar
- Giriş ve çıkış herhangi bir uygun biçimde olabilir
- Giriş numarasının ve * daha az olduğunu varsayabilirsiniz.
array length
- Giriş dizisinin en az 2 öğe uzunluğunda olacağını varsayabilirsiniz.
- Sonucunuzda en az iki ondalık hassasiyet noktası bulunmalı, 0,05'e kadar doğru olmalı ve bu hassasiyet / doğruluk için 100'e kadar destek numarası olmalıdır. (tek hassasiyetli şamandıralar bu gereksinimi karşılamak için fazlasıyla yeterlidir)
Mutlu Golf!