Étant donné une séquence arithmétique finie d'entiers positifs avec certains termes retirés du milieu, reconstruisez la séquence entière.
La tâche
Considérons une séquence arithmétique: une liste d'entiers positifs dans laquelle la différence entre deux éléments successifs est la même.
2 5 8 11 14 17
Supposons maintenant qu'un ou plusieurs entiers soient supprimés de la séquence, sous réserve des contraintes suivantes:
- Les entiers supprimés seront des termes consécutifs de la séquence.
- Le premier et le dernier entier de la séquence ne seront pas supprimés.
- Au moins trois entiers resteront dans la séquence.
Pour la séquence ci-dessus, les suppressions possibles incluent:
2 5 8 14 17 (removed 11)
2 5 17 (removed 8 11 14)
2 14 17 (removed 5 8 11)
Votre tâche: étant donné l'une de ces séquences partielles, reconstruisez la séquence complète d'origine.
Détails
Vous pouvez supposer que l'entrée est valide (a une solution) et qu'il manque au moins un terme. Tous les nombres de la séquence seront des entiers positifs (> 0). La séquence peut avoir une différence positive ou négative entre les termes (c'est-à-dire qu'elle peut augmenter ou diminuer). Ce ne sera pas une séquence constante (par exemple5 5 5
).
Votre solution peut être un programme complet ou une fonction . N'importe laquelle des méthodes d'entrée et de sortie par défaut sont acceptables.
Vos entrées et sorties peuvent être une chaîne (avec tout délimiteur raisonnable), une liste de chaînes ou une liste de nombres. Vous pouvez représenter les nombres dans la base qui convient à votre langue.
Veuillez mentionner toute méthode / format d'E / S inhabituel dans votre soumission, afin que d'autres puissent tester votre code plus facilement.
Cas de test
In: 2 5 8 14 17
Out: 2 5 8 11 14 17
In: 2 5 17
Out: 2 5 8 11 14 17
In: 2 14 17
Out: 2 5 8 11 14 17
In: 21 9 6 3
Out: 21 18 15 12 9 6 3
In: 10 9 5
Out: 10 9 8 7 6 5
In: 1 10 91 100
Out: 1 10 19 28 37 46 55 64 73 82 91 100
C'est du golf de code ; la réponse la plus courte dans chaque langue l'emporte.
2 5 ... 17