Le but de ce défi est d'utiliser la méthode d' Euler pour approximer la solution d'une équation différentielle de la forme f (n) (x) = c. †
L'entrée sera une liste d'entiers dans laquelle la n ème valeur représente la valeur de f (n) (0). Le premier entier est f (0), le second est f '(0), et ainsi de suite. Le dernier entier de cette liste est la constante et restera toujours le même.
Un nombre entier positif (non nul) x , qui représente la valeur cible (vous essayez d'estimer f (x)), est également fourni en entrée . La taille du pas pour la méthode d'Euler sera toujours 1. Ainsi, vous devrez effectuer x pas au total.
Si vous n'êtes pas familier avec la méthode d'Euler, voici un exemple détaillé avec une explication pour l'entrée [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
Essentiellement, chaque cellule du tableau généré est la somme de la cellule au-dessus et de la cellule au-dessus et à droite. Donc, f (a) = f (a-1) + f '(a-1); f '(a) = f' (a-1) + f '' (a-1); et f '' (a) = f '' (a-1) + f '' '(a-1). La réponse finale est f (8) ≈ -8. ††
La liste d'entrée contiendra toujours 2 éléments ou plus, qui auront tous des valeurs absolues inférieures à 10. x ≥ 1 est également garanti. La sortie est un entier unique, l'approximation de f (x). L'entrée peut être prise dans l'un ou l'autre ordre (la liste avant x ou x avant la liste). x peut également être le premier ou le dernier élément de la liste, si vous le souhaitez.
Cas de test:
[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
†: il est à noter que l'utilisation d'une méthode d'approximation dans cette situation est, en fait, stupide. cependant, la fonction la plus simple possible a été choisie aux fins de ce défi.
††: la valeur réelle se situe à -25⅓, ce qui qualifierait cette approximation de "pas très bonne".