Bei einer endlichen arithmetischen Folge von positiven ganzen Zahlen, wobei einige Ausdrücke aus der Mitte entfernt sind, rekonstruieren Sie die gesamte Folge.
Die Aufgabe
Stellen Sie sich eine arithmetische Folge vor: Eine Liste positiver Ganzzahlen, in der der Unterschied zwischen zwei aufeinanderfolgenden Elementen gleich ist.
2 5 8 11 14 17
Angenommen, eine oder mehrere Ganzzahlen werden aus der Sequenz entfernt, unter folgenden Bedingungen:
- Die entfernten ganzen Zahlen sind aufeinanderfolgende Terme der Sequenz.
- Die ersten und letzten Ganzzahlen in der Sequenz werden nicht entfernt.
- Es bleiben mindestens drei ganze Zahlen in der Sequenz.
Mögliche Entfernungen für die obige Sequenz sind:
2 5 8 14 17 (removed 11)
2 5 17 (removed 8 11 14)
2 14 17 (removed 5 8 11)
Ihre Aufgabe: Stellen Sie mit einer dieser Teilsequenzen die ursprüngliche vollständige Sequenz wieder her.
Einzelheiten
Sie können davon ausgehen, dass die Eingabe gültig ist (eine Lösung hat) und mindestens ein Begriff fehlt. Alle Zahlen in der Sequenz sind positive ganze Zahlen (> 0). Die Sequenz kann einen positiven oder negativen Unterschied zwischen Begriffen aufweisen (dh sie kann zunehmen oder abnehmen). Es wird keine konstante Sequenz sein (zB 5 5 5
).
Ihre Lösung kann ein vollständiges Programm oder eine Funktion sein . Alle Standardeingabe- und -ausgabemethoden sind zulässig.
Ihre Eingabe und Ausgabe kann eine Zeichenfolge (mit einem sinnvollen Trennzeichen), eine Liste von Zeichenfolgen oder eine Liste von Zahlen sein. Sie können die Zahlen in jeder für Ihre Sprache geeigneten Basis darstellen.
Bitte erwähnen Sie ungewöhnliche I / O-Methoden / -Formate in Ihrer Einreichung, damit andere Ihren Code einfacher testen können.
Testfälle
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
Das ist Code-Golf ; die kürzeste Antwort in jeder Sprache gewinnt.
2 5 ... 17