Цель этой задачи - использовать метод Эйлера для аппроксимации решения дифференциального уравнения вида f (n) (x) = c. †
Входными данными будет список целых чисел, в которых n- е значение представляет значение f (n) (0). Первое целое число - это f (0), второе - это f '(0) и так далее. Последнее целое число в этом списке является константой и всегда останется неизменным.
Также в качестве входных данных будет предоставлено положительное (ненулевое) целое число x , которое представляет целевое значение (вы пытаетесь оценить f (x)). Размер шага для метода Эйлера всегда будет равен 1. Таким образом, вам нужно будет сделать х шагов всего.
Если вы не знакомы с методом Эйлера, вот подробный пример с объяснением ввода [4, -5, 3, -1]
, х = 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. ††
Входной список всегда будет содержать 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
† Примечательно, что использование метода приближения в этой ситуации, на самом деле, глупо. однако для целей этой задачи была выбрана самая простая возможная функция.
††: фактическое значение составляет -25⅓, что квалифицирует это приближение как «не очень хорошее».