Мета цієї задачі - використовувати метод Ейлера для наближення розв’язку диференціального рівняння виду f (n) (x) = c. †
Вхідним буде перелік цілих чисел, у яких n- е значення представляє значення f (n) (0). Перше ціле число - f (0), друге - f '(0) тощо. Останнє ціле число у цьому списку є постійним і завжди залишатиметься таким же.
Також в якості введення буде представлено додатне (ненульове) ціле число x , яке представляє цільове значення (ви намагаєтеся оцінити f (x)). Розмір кроків для методу Ейлера завжди буде 1. Таким чином, вам потрібно буде зробити x кроків усього.
Якщо ви не знайомі з методом Ейлера, ось детальний приклад з поясненням для введення [4, -5, 3, -1]
, x = 8.
x f(x) f'(x) f''(x) f'''(x)
0 4 -5 3 -1
1 4-5 = -1 -5+3 = -2 3-1 = 2 -1
2 -1-2 = -3 -2+2 = 0 2-1 = 1 -1
3 -3+0 = -3 0+1 = 1 1-1 = 0 -1
4 -3+1 = -2 1+0 = 1 0-1 = -1 -1
5 -2+1 = -1 1-1 = 0 -1-1 = -2 -1
6 -1+0 = -1 0-2 = -2 -2-1 = -3 -1
7 -1-2 = -3 -2-3 = -5 -3-1 = -4 -1
8 -3-5 = -8
По суті, кожна клітинка в генерованій таблиці - це сума комірки над нею та комірки вгорі та праворуч. Отже, f (a) = f (a-1) + f '(a-1); f '(a) = f' (a-1) + f '' (a-1); і f '' (a) = f '' (a-1) + f '' '(a-1). Остаточна відповідь - f (8) ≈ -8. †Kl
Список вводу завжди буде містити 2 або більше елементів, всі з яких матимуть абсолютні значення менше 10. x ≥ 1 також гарантується. Вихід - це єдине ціле число, наближення f (x). Введення може бути прийнято в будь-якому порядку (список перед x , або x перед списком). x, також, може бути першим чи останнім елементом списку.
Тестові приклади:
[4, -5, 3, -1], x = 8 => -8
[1, 2, 3, 4, 5, 6], x = 10 => 3198
[1, 3, 3, 7], x = 20 => 8611
[-3, 3, -3, 3, -3, 3, -3, 3, -3], x = 15 => -9009
[1, 1], x = 1 => 2
†: помітно, що використання методу наближення в цій ситуації насправді нерозумно. проте для цілей цього виклику було обрано найпростішу можливу функцію.
†Kan: фактичне значення буває -25⅓, що може визначити це наближення як "не дуже добре".