Bei einer nichtnegativen Ganzzahl n
muss Ihre Lösung ein Programm in der von Ihnen gewählten Sprache ausgeben, dessen Ausgabe n
die gleiche Anzahl von Bytes aufweist wie das ausgegebene Programm.
Regeln
- Sie müssen die Sprache und Codierung der Programme angeben, die Ihre Lösung ausgibt, und Sie dürfen für unterschiedliche Eingaben in Ihre Lösung keine unterschiedlichen Sprachen oder Codierungen auswählen. Die Sprache Ihres Ausgabeprogramms kann mit der Sprache Ihrer Lösung identisch sein oder nicht.
- Ihre Eingabe muss nur Ganzzahlen in Ihrem Sprachbereich behandeln, aber bitte missbrauchen Sie diese Regel nicht.
Dies ist Code-Golf, also gewinnt die kürzeste Einsendung in Bytes.
Beispiel
Angenommen, es n
ist 4. Meine Lösung gibt dann f_8
ein Programm aus, das in meiner (imaginären) Sprache ausgibt j3 1s+/2]!mz
. Die Programmausgabe hat die Länge 3 und die Ausgabe die Länge 3 * 4 = 12, daher ist die Lösung für Eingabe 4 korrekt.
Nehmen wir stattdessen an, das n
ist 1 und mein Programm gibt aus ffffpfpffp
(10 Bytes). Das Programm ffffpfpffp
in der von mir gewählten Sprache müsste eine Ausgabe von 10 * 1 = 10 Bytes erzeugen.
n
als String nehmen?Antworten:
JavaScript (ES6), 38 Byte
Demo
Code-Snippet anzeigen
quelle
Gelee , 10 Bytes
Probieren Sie es online!
Für die Eingabe
12
gibt es aus12DL+8×x@⁶
, was 120 Leerzeichen ausgibt. Probieren Sie es online!quelle
Brainfuck , 348 Bytes
Probieren Sie es online! Oder schauen Sie sich die Ungolfed-Version an (dh mit was ich arbeiten musste)
Haftungsausschluss
Ich habe mehr Zeit damit verbracht, als ich für menschlich möglich hielt. Ich möchte meiner Freundin dafür danken, dass ich ihr erlaubt habe, daran zu arbeiten. ebenso gut wie mein Retter .
Wie funktioniert es überhaupt?
Keine Ahnung.
Wie funktioniert es
Alle Ausgaben haben einen nachfolgenden Codeausschnitt, der alle gleich ist:
Teilen wir es in drei Teile auf
a,b,c
Die Eingabe
i
wird einfach unärgerlich nach vorne geklebt:(zB wenn die Eingabe 10 war, dann
i = '++++++++++'
)Der Duplikator - Teilt die Eingabe in zwei identische Zahlen
m, n
, die der Eingabe entsprechenDer Einsteller - Wird
n
so eingestellt, dass er der Länge des Programms entsprichtDer Drucker - Druckt
m*n
ASCII-ZeichenBeachten Sie, dass die Eingabe in dem Beispiel eine ist
newline
, die als ASCII-Wert von 10 daher die Eingabe ist10
. Wenn Sie andere kleine Zahlen testen möchten, ersetzen die,
mit jedoch viele+
‚s die Sie wünschen.quelle
Cheddar ,
109 BytesEin ungeschickter Protonen-Polyglot> _ <
quelle
Haskell , 55 Bytes
Probieren Sie es online! Anwendungsbeispiel:
f 1
Ergibt das folgende 54-Byte-Programm:Probieren Sie es online! Dies erzeugt die folgende 54-Byte-Ausgabe:
quelle
Python 3 -> HQ9 +, 11 Bytes
Es musste getan werden
Probieren Sie es online!
quelle
Q
druckt einfach seinen eigenen Quellcode. Sie können dies hier testen: hq9plus.alwaysdata.net . Dies sollte nie ein ernstzunehmender Eintrag sein1
, dann gibst du ausQ
, was wiederum ausgibtQ
.Q
hat Länge1
, aber Ihr Code hat Länge11
.Java 8,
175174 BytesBeispiele:
n=1
Ausgänge :(Länge = 89), die 89 Nullen ausgibt :
n=10
Ausgänge :(Länge = 90), die 900 Nullen ausgibt :
n=100
Ausgänge :(Länge = 91), die 9100 Nullen ausgibt :
Erläuterung:
quelle
RProgN 2 ,
75 BytesMit einem Leerzeichen
Erklärt
Probieren Sie es online!
quelle
CJam,
813 BytesProbieren Sie es online
Das generierte Programm gibt Leerzeichen aus, so dass es schwer zu sagen ist.
quelle
Ly , 29 Bytes
Probieren Sie es online!
(Funktioniert derzeit aufgrund eines Vorverarbeitungsfehlers nicht)Alles gut!quelle
Python → TECO, 20 Bytes
Die Antwort ist in Python, während sich der generierte Code in TECO befindet. Der Python ist eine Funktion, die n- mal
VV12345\VV
wiederholt wird. Sehen Sie hier für eine Erklärung der TECO.quelle
PHP, 47 + 1 Bytes
Gibt einen Unterstrich gefolgt von Leerzeichen aus.
Laufen Sie als Pipe mit
-F
; Ausgegebenes Programm mit-f
oder ausführen-F
.Dies würde bei Eingaben mit mehr als 64 Stellen fehlschlagen,
was weitaus höher ist als
PHP_INT_MAX
(zu diesem Zeitpunkt) liegt.Bei Eingaben größer als
PHP_INT_MAX
-18 schlägt der Vorgang jedoch fehl. Ist die Berechtigung noch vorhanden?quelle
PHP_INT_MAX
-18 fehl . Disqualifiziert das?PHP → Python 2, 40 + 1 Bytes
druckt ein Python-Programm, das wiederholte
A
s druckt . Als Rohr mit laufen lassen-F
.quelle
Stapel → Holzkohle, 22 Bytes
Ich bin nicht sicher, welche Codierung ich verwenden soll, da dies Bytes sind. Hier sind die als Windows-1252 interpretierten Bytes:
Die gleichen Bytes wie beim PC-850:
Dieselben Bytes in Charcoals Codepage:
Das resultierende Charcoal-Programm ist
Plus(Length(Cast(n)), 9)
bytes lang:quelle
Recursiva ,
1615 BytesProbieren Sie es online!
Dies für die Eingabe von
n=2
Ausdrucken:welche Ausgänge 30
*
. Probieren Sie es online!quelle
JavaScript (ES8),
434139 ByteProbier es aus
Die Ausgabe der generierten Funktion ist eine Folge von Leerzeichen, die
*
in diesem Snippet durch s ersetzt werden .quelle
R , 46 Bytes
Probieren Sie es online!
Anonyme Funktion, die die Zeichenfolge zurückgibt
Welche druckt
a
(a
gefolgt von einem Leerzeichen) 23n
Mal. Ich brauchte das,''
weil sonstcat
das letzte Leerzeichen nicht gedruckt würde.quelle
C 94 Bytes
Dies wären 94 Bytes einschließlich des letzten \ n, den der Standard C schreibt. Rückgabe als 'r' Zeichen als (Länge des Programms) * (Argument des Programms), wenn das Programmargument nicht existiert oder <= 0 ist oder> 0xFFFFF ist, kein Beispiel drucken
quelle
MATLAB (63 Bytes)
Beispielsweise:
und:
quelle