Diese Herausforderung besteht darin, die Zahlen 0 bis 10 (einschließlich) auf Ihrem Terminal, Fenster, Canvas oder Bildschirm auszugeben. Jede ausgegebene Zahl muss als 4 Bit breites Nybble angezeigt werden, daher muss Null als 0000
und so weiter angezeigt werden .
Sie können jede ausgegebene Zahl durch ein Leerzeichen, ein Komma oder einen Wagenrücklauf trennen. Die kleinste Lösung gewinnt, aber die Zahlen können in beliebiger Reihenfolge angezeigt werden, solange Ihre Sequenz keine sich wiederholenden Zahlen enthält.
Einträge in einfachen Binärsprachen müssen sich nicht um Kommas oder Leerzeichen kümmern, wenn keine Ausgabe mit Kommas oder Leerzeichen möglich ist (dh die Standardausgabe ist nur auf Binär beschränkt oder Ihre Lösung ist für ein frühes Computer-Kit wie das KIM-1, das eine begrenzte Digitalanzeige hat).
quelle
Antworten:
SmileBASIC, 26 Bytes
quelle
MATL , 6 Bytes
Probieren Sie es bei MATL Online aus
Erläuterung
quelle
05AB1E ,
98 BytesProbieren Sie es online!
quelle
JavaScript, 46 Bytes
Warum sollten Sie eine Auffüllfunktion verwenden, wenn Sie jeder Zahl einfach 16 hinzufügen und die erste Binärziffer abschneiden können?
quelle
Japt , 7 Bytes
Und hier dachte ich, dass Japt zum Scheitern verurteilt ist, länger zu sein als jede andere Golfsprache ...
Testen Sie es online!
Erläuterung
Normalerweise können Kommas in Japt entfernt werden, aber dieses ist wegen eines Fehlers vorhanden:
_
Normalerweise bedeutet diesfunction(Z){Z
, aber aus irgendeinem Grund denkt der Compiler, dass diesA_
Mittel istfunction(A,Z){Z
.quelle
Aô_¤
Bash + GNU-Utils, 26
Probieren Sie es online aus .
quelle
seq -w 0 1010
sollte arbeiten.-w
Optionseq
zuvor benutzt zu haben.Bash + Unix-Dienstprogramme,
2926 BytesProbieren Sie es online!
Dies entspricht der Länge von @ DigitalTrauma / @ Dennis, verwendet jedoch eine völlig andere Methode.
Ausgabe ist:
(Jede Bestellung ist erlaubt.)
Pure Bash , 34 Bytes
Probieren Sie die reine Bash-Version online aus!
Ausgabe ist:
quelle
J, 6 Bytes
Dank Meilen für die Reduzierung auf 6 Bytes!
quelle
#:i.11
sollte genauso gut funktionierenGelee , 7 Bytes
Probieren Sie es online!
(5 Bytes, wenn nachstehende Zeilen von Nybbles erlaubt sind
2Bṗ4Y
)Wie?
Druckt in absteigender Reihenfolge.
Ein alternativer 7-byter ist
2ṗ4Ịṫ6Y
, die[1,0]
ersetzt werden durch[1,2]
undỊ
ist die „unbedeutend“ monadisch (abs(z)<=1
), Umwandeln2
s0
s.quelle
Python 3.6,
3635 Bytes-1 Byte danke an @JonathanAllan
Python 3.5 und früher:
Probieren Sie es online!
quelle
i=11
(neue Zeile)while i:i-=1;print(f"{i:04b}")
, für 35.PHP, 33 Bytes
quelle
CJam , 12 Bytes
Probieren Sie es online!
Erläuterung
Der kartesische Machtansatz wäre meine Wahl gewesen, wurde aber bereits getroffen.
Dies generiert also Zahlen von 0 bis 10 und addiert für jede Zahl 16 und konvertiert sie in Binärdaten. Das Addieren von 16 stellt sicher, dass die erforderlichen führenden Nullen zusammen mit einer zusätzlichen führenden Null erzeugt werden, die entfernt wird.
quelle
MATLAB / Octave, 13 Bytes
Online Demo
quelle
Jelly ,
10, 9, 8 BytesProbieren Sie es online!
Ich bin nicht so gut in Gelee, also wäre ich offen für alle Tipps!
Hierbei wird der erste Algorithmus von Emigna verwendet
Vielen Dank an Dennis für das
Abschneiden von zwei Bytes, die mich dazu gebracht haben, seine eigene Antwort zu finden. : PErläuterung:
quelle
Ḋ€
Speichert ein Byte.⁴r27
speichert einen anderen.Python 2 ,
3836 BytesDanke an @DJMcMayhem für das Golfen mit 2 Bytes!
Probieren Sie es online!
quelle
for n in range(11):print bin(n+16)[3:]
auch bei 38 Bytes.n=16;exec"print bin(n)[3:];n+=1;"*11
ist zwei kürzerGelee , 8 Bytes
Probieren Sie es online!
Wie es funktioniert
quelle
RProgN, 15 Bytes
Dies war eine sehr gute Modifikation, um einepad
Funktion hinzuzufügen . Das Ganze]L4\-'0'\m\.
, mehr als die Hälfte des Codes, ist aufzufüllen._Saved 6 Bytes dank @ETHProductions , das ist die Pad-Funktion halbiert.
Erklärt
Probieren Sie es online!
quelle
length of the Alphabet
Schöne Möglichkeit, ein Byte zu speichernRetina ,
3633 BytesProbieren Sie es online!
Erläuterung
Ersetzen Sie die leere (nicht vorhandene) Eingabe durch
%%%%
.Beim ersten Durchlauf dieser Phase wird
^%
der Text%%%%
mit den beiden Zeilen0%%%
und abgeglichen und im Wesentlichen ersetzt1%%%
. Die Stufe wird wiederholt, bis sich der Ausgang nicht mehr ändert. Beim zweiten Durchlauf wird eine Übereinstimmung gefunden\b%
(da Ziffern als Wortzeichen gelten und%
nicht) und die Gruppen durch Duplizieren und Hinzufügen0
zu einer Kopie und1
zur anderen ersetzt:0%%%
werden die Zeilen00%%
und01%%
(und das Gleiche für1%%%
). Durch diese Schleife werden alle 16 Bitstrings zeilenweise getrennt erzeugt.Die ersten 11 Übereinstimmungen von
\d+
(ein Lauf mit mindestens einer Ziffer) werden abgerufen. Die Übereinstimmungen werden in einer durch Zeilenvorschub getrennten Liste ausgegeben.quelle
0$%'¶$%
1'-Linie funktioniert. Was$%
,`1
,'¶
darstellen?$%`
Stellt alles vor dem Spiel in derselben Zeile dar und$%'
ist alles nach dem Spiel in derselben Zeile.¶
ist ein buchstäblicher Zeilenvorschub. Die Ersetzung entspricht also im Grunde der ersten%
Zeile in einer Zeile und ersetzt sie durch0
den Rest der Zeile, in der sie sich befand, eine neue Zeile, den Anfang der Zeile, in der sie sich befand, und a1
. Natürlich bleiben der Anfang und das Ende der Linie, auf der sie sich befanden, von der Auswechslung unberührt, da sie nicht Teil des Spiels waren.G11`
stattdessen die letzte Zeile desRuby, 25 Bytes
quelle
BF,
121101 BytesBenötigt einen abschließenden Zeilenumbruch. Verwendet mit diesem Interpreter ein
!
Symbol (also kreuzen Sie das Kästchen an, das besagt!
) (versuchen Sie es online!) .Möglicherweise 51 Bytes, wenn jeder Operator als 4 Bits betrachtet wurde
quelle
!
aktivierte Kontrollkästchen ein Byte angeben (oder zusätzlich ein Byte hinzufügen) .96 Bytes
Golf gespielt
Ungolfed
Vollständiger Code
Releases
96 bytes
- Anfangslösung.quelle
C
170120 BytesUngolfed-Version:
Kann definitiv gekürzt werden !?
@Ahemone Super Idee, danke!
Sollte jetzt funktionieren! Probieren Sie es online!
quelle
for
Schleife in Ihrer Golf-Version sollte auf 4 anstatt auf 3 eingestellt sein, aber das spielt keine Rolle, da die Schleife vollständig entfernt werden kann und die zweite für die Schleife bei 0 beginnen kann. Sie könnenwhile(n)
diewhile
Schleife auch einfach verwenden , aber komprimieren einefor
Schleife spart wieder mehr.n/=2
spart Ihnen auch ein Byte über die Schicht. Sie vermissen auch eine Kündigung}
der Golf-Version, die einen Fehler beim Kompilieren verursacht.}
Der Code wurde korrigiert und verbessert, 50 Byte kürzer, basierend auf Ihrer Idee.R - 23
Wir können
intToBin
funktion aus demR.utils
paket:quelle
C
756869 BytesAnsatz 1:
757374BytesProbieren Sie es online!
Ansatz 2:
6869 BytesProbieren Sie es online!
quelle
m,n;f(o)
stattdessen vorm,n,o;f()
Python 2, 44 Bytes
Dabei wird die
zfill
Funktion verwendet, die wierjust
folgt funktioniert: Es wird immer mit Pads aufgefüllt,0
sodass Sie keine Bytes für ein Argument verschwenden.quelle
lambda k,l:' '*(len(k)-l)+k
) Wow ... +1 nur deswegen: DPyke, 8 Bytes
Probieren Sie es hier aus!
Auch 8 Bytes:
Probieren Sie es hier aus!
quelle
Pyth -
87 BytesProbieren Sie es hier online aus .
quelle
gestapelt , 30 Bytes
Probieren Sie es online!
11:>
ist ein Bereich von0
bis10
. Der Rest ist eher selbsterklärend.Andere Lösungen, die ich gefunden habe:
quelle
Ruby, 38 Bytes
quelle
11.times{|i|puts i.to_s(2).rjust 4,?0}
BF , 134 Bytes
Ich bin mir sicher, dass dies verkürzt werden kann - es ist so ziemlich mein erstes BF-Golf.
Probieren Sie es online! Nimmt ein Band unendlich in beide Richtungen an, wie es der Interpreter bei TIO verwendet. Ein Dolmetscher wo
<
am linken Ende des Bandes ein No-Op steht, würde drei Bytes einsparen.Erläuterung
Mehr als die Hälfte des Codes (um genau zu sein die ersten 77 Bytes) wird für die Initialisierung des Bandes aufgewendet. Die Schritte gehen so:
Die Zellen, die initialisiert wurden,
1
um die Bits unserer Zahl plus 1 zu speichern:1
repräsentiert ein Nullbit und2
repräsentiert ein Einbit.Die Initialisierungsphase endete mit dem Zeiger auf
11
. Jetzt verwenden wir diese Zelle, um 11 Iterationen unserer Schleife auszuführen:quelle