"Der Nobelpreis für Mathematik wurde an einen kalifornischen Professor verliehen, der eine neue Zahl entdeckt hat! Die Zahl ist bleen, von der er behauptet, dass sie zwischen 6 und 7 liegt." - George Carlin
Bei dieser Herausforderung werden alle ganzen Zahlen einschließlich innerhalb des angegebenen Eingabebereichs gedruckt. Drucken Sie die Zahlen in aufsteigender oder absteigender Reihenfolge. Das heißt, für die Eingabe [n1, n2]
wird aufsteigend gedruckt, wenn n1 < n2
, absteigend, wenn n1 > n2
.
Da bleen
es sich nun um eine Ganzzahl handelt, kann sie als Eingabe verwendet werden. Es muss auch in der Ausgabe zwischen aufgenommen werden 6
und , 7
soweit anwendbar. Beachten Sie auch, dass -bleen
zwischen -7 und -6 existiert.
Eingang
Zwei Ganzzahlen [n1, n2]
im Bereich [-10, 10], einschließlich, über die Eingabe Ihrer Programmiersprache.
(Eingabe kann auch bleen
und enthalten -bleen
!)
Ausgabe
Geben Sie alle Ganzzahlen aus, die mit beginnen n1
und enden n2
, einschließlich der neu entdeckten bleen
Zahlen zwischen 6 und 7. Die Ausgabe kann eine Reihe von durch Zeichen getrennten Zahlen in einer Form sein, die Ihre Sprache unterstützt - dh durch Kommas oder Leerzeichen getrennt. Ein nachfolgender Ausgabebereich ist in Ordnung.
Beispiele
Input: 1 10
Output: 1 2 3 4 5 6 bleen 7 8 9 10
Input: -9 -4
Output: -9 -8 -7 -bleen -6 -5 -4
Input: -8 bleen
Output: -8 -7 -bleen -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 bleen
Input: 9 1
Output: 9 8 7 bleen 6 5 4 3 2 1
Input: 2 -bleen
Output: 2 1 0 -1 -2 -3 -4 -5 -6 -bleen
Input: -bleen 0
Output: -bleen -6 -5 -4 -3 -2 -1 0
Input: bleen bleen
Output: bleen
Input: 2 2
Output: 2
Zusätzliche Bemerkungen
Sie können ein Programm oder eine Funktion schreiben und jede Standardmethode zum Empfangen von Eingaben und zum Bereitstellen von Ausgaben verwenden.
Sie können eine beliebige Programmiersprache verwenden , Standardlücken sind jedoch nicht zulässig.
Das ist Code-Golf , also gewinnt die kürzeste gültige Antwort - gemessen in Bytes .
Antworten:
Python 3,
132130 BytesNimmt Eingaben im folgenden Beispielformat vor:
quelle
[-10,10]
?bleen=7/m
Zur Klärung ohne Zeichenstrafe verwendeneval
übersetzenbleen
in den richtigen Wert.Ruby,
11410098 BytesInput ist ein Array mit
[n1, n2]
. (Wenn es zwei separate Argumente sein müssen, +1 Byte, um das Funktionsargument vong
in zu ändern*g
. Bleen muss eine Zeichenfolge sein. Gibt"bleen"
ein Array des Bereichs aus. Vorgeschlagen von @Jordan mit seiner (?) Anfänglichen Version, die -7 Byte gewährt. aber ich habe danach auch noch 7 weitere golfen.Probieren Sie es online aus.
Ursprüngliche Vollversion des Programms, die Eingaben von folgenden Quellen liest
ARGV
:quelle
.map &:to_s
6 Bytes entfernen und sparen, und Sie können ein weiteres Byte speichern, indem Sie die Initialisierung vona
auf änderna=*-10..10;a[4,0]=?-+b;a[18,0]=b
.->*g{b='bleen';a=*-10..10;a[4,0]=?-+b;a[18,0]=b;x,y=g.map{|v|a.index v};puts y<x ?a[y..x].reverse: a[x..y]}
Pyth , 35 Bytes
Testsuite.
Der erste Teil
K++L\-P_J++`M7"bleen"`M}7TJ
generiert also dieses Array:und speichert es dann in
K
.Der zweite Teil findet also
@LK}FxLK
die durch die Eingabe angegebene Unterliste.quelle
Python 3,
157145123108115139161158153 Bytes22 dank Lynn gerettet. 17 dank shooqie gerettet. 3 dank ljeabmreosn gerettet. 5 gerettet dank Geoff Reedy.
Eingabe wie
'-10', '8'
. Trinkgelder sind für Anfänger willkommen.7 hinzugefügt, um zu berücksichtigen
-bleen
. 15 hinzugefügt, um umgekehrte Eingaben wie zu berücksichtigen'8','-10'
. Es wurde eine große 21 hinzugefügt, um die umgekehrten Vorzeichen fürbleen
vs zu berücksichtigen-bleen
.quelle
l.index('-6')
undl.index('7')
sollte nur Konstanten sein, nein?l=[str(i)for i in range(-10,11)]
->l=list(map(str,range(-10,11)))
l=list(range(-10,11))
funktioniert auchfor i in(4,18):l.insert(i,'bleen')
.'bleen'
anstatt ein'-bleen','bleen'
Ruby, 141 Bytes
Ungolfed
quelle
Batch,
239186 BytesDiese Methode besteht darin, von
3*%1
bis zu zu wechseln3*%3
und dann durch drei zu teilen und die Zahlen ohne Rest auszudrucken. Wenn Siebleen
diese magische Zahl jedoch festlegen, wird ein Ganzzahlüberlauf verursacht und20
stattdessen der Wert verwendet. Dies wird dann an der entsprechenden Stelle in der Schleife ausgedruckt.quelle
-bleen
. Bah.bleen.bat bleen -bleen
vielleicht?JavaScript (ES6), 158
Schöne Herausforderung, schwer zu golfen. Wahrscheinlich könnten die in Python- und Ruby-Antworten verwendeten Range-Methoden sogar in JS besser abschneiden.
Weniger golfen
Prüfung
quelle
Swift 2.2, 342 Bytes
Testen Sie dies mit der Swift Sandbox von IBM
Ungolfed
quelle
Java, 271 Bytes
Ungolfed mit Testfällen:
Anruf b (Start, Ende). Da es sich bei den Parametern um Zeichenfolgen handelt, ist viel Platz erforderlich, um diese in Ints umzuwandeln. Im Wesentlichen behandelt das Programm 7 & -7 als Bleen und -bleen.
quelle
p
kann wie folgt geändert werden 6 Bytes speichern:int p(String w){int x=w.length(),i;if(x>3)return x<6?7:-7;i=Integer.decode(w);return i<-6?i-1:i>6?i+1:i;}
. Sie können auch angeben, dass dies Java 7 ist, und ein Ideon hinzufügen .Java 7, 251 Bytes
Anderer Ansatz, der kürzer ist als die bereits vorhandene Java 7-Antwort .
Außerdem ist es bedauerlich, dass die Parameter möglicherweise nicht in der richtigen Reihenfolge sind, wodurch einige Bytes hinzugefügt werden, um sie zu vertauschen.
Ungolfed & Testfälle:
Probieren Sie es hier aus.
Ausgabe:
quelle
Scala, 223 Bytes
quelle
JavaScript (ES6), 178 Byte
Versuch es
EDIT: Fix für Reverse Ordering. Danke Patrick, habe diesen Zustand verpasst
quelle
Python 3, 126 Bytes
Die Eingabe erfolgt im Formular
-5, 'bleen'
quelle
R ,
110107 BytesDanke an Cyoce für das Golfen mit 3 Bytes.
Erstellt die gesamte Liste in der richtigen Reihenfolge und wählt die relevanten aus. Die Funktion in der Mitte mit dem Namen "b" schien der einfachste Weg zu sein, dies zu erreichen. Übernehmen usw
quelle
Javascript (mit externer Bibliothek) (343 Bytes)
Link zu lib: https://github.com/mvegh1/Enumerable
Bildschirmfoto:
quelle
Python 2, 100 Bytes
Die ersten vier Zeilen erzeugen die Liste
[-10, -9, -8, -7, 'bleen', -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 'bleen', 7, 8, 9, 10]
. Die nächste Zeile wird eingegeben und ins
und gespeicherte
. In den letzten beiden Zeilen wird die.index()
Aufteilungsnotation verwendet und aufgelistet, um den korrekten Bereich zu ermitteln.Funktioniert genauso wie die Antwort von Leaky Nun, wurde jedoch unabhängig entwickelt. Hat eine Eingabemethode von orlp gestohlen.
Ungolfed:
quelle
-7
und-6
ist-bleen
nichtbleen
. Obwohl wir eine neue Zahl gefunden haben, müssen die Grundregeln der Algebra konstant bleiben:0
Ist die einzige Zahl, die ihre eigene additive Umkehrung darstellt, da sie das additive Identitätselement ist. Darüber hinauseval(input())
ist nurinput()
in Python 2.