Eingang:
Zwei ganze Zahlen: eine negative, eine positive.
Ausgabe:
In der ersten Zeile die niedrigste bis höchste Ausgabe. In der zweiten Zeile haben wir die höchsten und niedrigsten Zahlen entfernt und alle einzelnen Zahlen mit einem Vorzeichen versehen. In der dritten Zeile haben wir die höchsten und niedrigsten Zahlen wieder entfernt und alle einzelnen Zahlen erneut mit einem Vorzeichen versehen. usw. (Das folgende Beispiel soll die Herausforderung verdeutlichen.)
Wichtig: Außerdem fügen wir Leerzeichen hinzu, damit die Zahlen in einer Spalte alle (rechts) ausgerichtet sind.
Die minimale Ausrichtung ist der Hauptteil dieser Herausforderung. Das bedeutet, dass Sie nicht einfach jede einzelne Zahl auf die gleiche Breite bringen können. Die Breite einer Spalte basiert auf der größten Zahlenbreite dieser bestimmten Spalte (und die Sequenz mit Vorzeichenwechsel soll den Zahlen eine gewisse Breite pro Spalte geben).
Beispielsweise:
Input: -3,6
Output:
-3,-2,-1, 0, 1, 2, 3, 4,5,6 // sequence from lowest to highest
2, 1, 0,-1,-2,-3,-4,-5 // -3 and 6 removed; then all signs changed
-1, 0, 1, 2, 3, 4 // 2 and -5 removed; then all signs changed again
0,-1,-2,-3 // -1 and 4 removed; then all signs changed again
1, 2 // 0 and -3 removed; then all signs changed again
// only two numbers left, so we're done
Wie Sie oben sehen können, werden Leerzeichen an den positiven Zahlen hinzugefügt, wenn sie sich eine Spalte mit negativen Zahlen teilen, um dies auszugleichen -
(dasselbe gilt für zweistellige Zahlen).
Herausforderungsregeln:
- Die Eingabe muss aus zwei ganzen Zahlen bestehen
- Sie können davon ausgehen, dass diese Ganzzahlen im Bereich
-99
-99
(einschließlich) liegen. - Die erste Ganzzahl ist negativ und die andere positiv.
- Sie können davon ausgehen, dass diese Ganzzahlen im Bereich
- Die Ausgabe kann in jedem vernünftigen Format erfolgen, sofern klar ist, dass Zeilen und richtig ausgerichtete Spalten vorhanden sind: ZB STDOUT; Rückgabe als String mit Zeilenumbrüchen; Rückkehr als Liste von Strings; usw. Ihr Anruf.
- Die Ausgabe muss außerdem ein Trennzeichen Ihrer Wahl enthalten (mit Ausnahme von Leerzeichen, Tabulatoren, Zeilenumbrüchen, Ziffern oder
-
): Dh,
; und;
und|
; undX
; usw. sind alle akzeptablen Begrenzer. - Die Ausgabezeilen dürfen kein führendes oder nachfolgendes Trennzeichen enthalten.
- Die Ausgabe kann EINE nachgestellte neue Zeile enthalten, und jede Zeile kann eine beliebige Anzahl nachgestellter Leerzeichen enthalten.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methode mit den richtigen Parametern und vollständige Programme verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Fügen Sie ggf. auch eine Erklärung hinzu.
Testfälle:
Input: -3,6
Output:
-3,-2,-1, 0, 1, 2, 3, 4,5,6
2, 1, 0,-1,-2,-3,-4,-5
-1, 0, 1, 2, 3, 4
0,-1,-2,-3
1, 2
Input: -1,1
Output:
-1,0,1
0
Input: -2,8
Output:
-2,-1, 0, 1, 2, 3, 4, 5, 6,7,8
1, 0,-1,-2,-3,-4,-5,-6,-7
0, 1, 2, 3, 4, 5, 6
-1,-2,-3,-4,-5
2, 3, 4
-3
Input: -15,8
Output:
-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6,7,8
14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7
-13,-12,-11,-10, -9, -8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6
12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5
-11,-10, -9, -8, -7, -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3
-9, -8, -7, -6, -5, -4,-3,-2,-1, 0, 1, 2
8, 7, 6, 5, 4, 3, 2, 1, 0,-1
-7, -6, -5, -4, -3, -2,-1, 0
6, 5, 4, 3, 2, 1
-5, -4, -3, -2
4, 3
Input: -3,15
Output:
-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15
2, 1, 0,-1,-2,-3,-4,-5, -6,-7, -8, -9,-10,-11,-12,-13,-14
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
0,-1,-2,-3,-4,-5,-6,-7, -8,-9,-10,-11,-12
1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11
-2,-3,-4,-5,-6,-7,-8,-9,-10
3, 4, 5, 6, 7, 8, 9
-4,-5,-6,-7,-8
5, 6, 7
-6
Input: -12,12
Output:
-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11
-10, -9, -8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10
9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8,-9
-8, -7, -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8
7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7
-6, -5, -4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6
5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5
-4, -3, -2,-1, 0, 1, 2, 3, 4
3, 2, 1, 0,-1,-2,-3
-2, -1, 0, 1, 2
1, 0, -1
0
-99
und der größtmögliche positive Eingang ist 99
.