Étant donné une liste d'entiers, produire une différence directe à un ordre / profondeur spécifié.
Pour la liste des entiers:
(10, 18, -12, 4, 8, -3, -5, 67, 9, 14)
Les différences à terme aux différents ordres / profondeurs sont:
0 10, 18, -12, 4, 8, -3, -5, 67, 9, 14
1 8, -30, 16, 4, -11, -2, 72, -58, 5
2 -38, 46, -12, -15, 9, 74, -130, 63
3 84, -58, -3, 24, 65, -204, 193
4 -142, 55, 27, 41, -269, 397
5 197, -28, 14, -310, 666
6 -225, 42, -324, 976
7 267, -366, 1300
8 -633, 1666
9 2299
Donc, avec l'entrée de
4, (10, 18, -12, 4, 8, -3, -5, 67, 9, 14)
Vous retourneriez la liste
(-142, 55, 27, 41, -269, 397)
Contribution
L'entrée peut être via STDIN ou les paramètres de fonction.
Un entier spécifiant la profondeur à retourner. Ce sera 0 à la longueur de la liste moins 1
Une liste d'entiers pour calculer la différence directe pour
Sortie
La sortie peut être via STDOUT ou retournée par la fonction.
Les différences directes pour la profondeur spécifiée sous forme de liste d'entiers
Règles
Les fonctions intégrées et tierces qui le font directement ne sont pas autorisées.
Des restrictions standard contre les échappatoires s'appliquent.
Victoires de code les plus courtes
-
c'est le seul verbe dans cette fonction.