Dies ist ein Repost von Evolution of “Hello World!” , Ursprünglich geschrieben von der Benutzerin Helka Homba
Es soll nicht geschlossen werden , da ein dupliziert, aufgrund Meta Konsens hier .
Das Original wurde vor über zwei Jahren gefragt und war zuletzt vor mehr als einem halben Jahr aktiv. Ich habe die Erlaubnis von Helka Homba, dies hier zu posten
Seit dem Original wurden viele Sprachen erfunden, und viele Leute haben sich der Website angeschlossen, die noch nie die Gelegenheit hatten, das Original zu beantworten. Ich halte dieses Repost für akzeptabel.
Die Herausforderung besteht darin, ein Programm 2^n
zu erstellen, das nach stdout gedruckt wird. Dabei n
wird die Nummer Ihres Programms angegeben. Der Haken ist, dass Ihr Programm in der vor Ihnen eingereichten Antwort einen Levenshtein-Abstand von 10 oder weniger vom Programm haben muss .
Wie das geht
Im Folgenden werde ich die erste Antwort mit C # einreichen, die 2 ^ (n = 1) = ausgibt 2
.
Die nächste Person, die antwortet, muss den Code mit bis zu 10 Einfügungen, Löschungen oder Ersetzungen von einzelnen Zeichen ändern, sodass er gedruckt wird, wenn er in der Sprache der neuen Antwort ausgeführt wird 2^n
(wobei n
es sich um die Antwortnummer handelt). Zum Beispiel würde die 25. Antwort (sagen wir es ist in Pyth) 2 ^ 25 oder 33554432 ausgeben.
Dies wird so lange fortgesetzt, bis jeder feststeckt, da es keine neue Sprache gibt. Das Programm der letzten Antwort kann so eingestellt werden, dass nur 10 Zeichen geändert werden. Das gemeinsame Ziel ist es zu sehen, wie lange wir das durchhalten können, also versuchen Sie, keine undurchsichtigen oder ungerechtfertigten Änderungen an den Charakteren vorzunehmen (dies ist jedoch keine Voraussetzung).
Formatierung
Bitte formatieren Sie Ihren Beitrag wie folgt:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Wobei N die Antwortnummer ist (erhöht sich schrittweise, N = 1, 2, 3, ...).
Sie müssen nicht sagen, welche genauen Zeichen geändert wurden. Stellen Sie einfach sicher, dass der Levenshtein-Abstand zwischen 0 und 10 liegt.
Wenn Sie in einer Sprache antworten oder der resultierende Code nur ein Durcheinander ist, erklären Sie bitte , was Sie getan haben und warum es funktioniert, obwohl dies nicht erforderlich ist.
Regeln
Das Entscheidende an dieser Herausforderung ist, dass immer nur eine Person antworten kann und jede Antwort von der vorherigen abhängt .
Es sollte niemals zwei Antworten mit dem gleichen N geben. Wenn zwei Personen gleichzeitig auf ein N antworten, sollte derjenige, der später antwortet (auch wenn es ein paar Sekunden Unterschied sind), seine Antwort gnädig löschen.
Außerdem...
- Ein Benutzer darf nicht zwei Antworten hintereinander übermitteln. (zB seit ich Antwort 1 eingereicht habe, kann ich Antwort 2 nicht tun, aber ich könnte 3 tun.)
- Vermeiden Sie es, in kurzer Zeit zu viele Antworten zu veröffentlichen.
- Jede Antwort muss in einer anderen Programmiersprache sein.
- Sie können verschiedene Hauptversionen einer Sprache verwenden, z. B. Python 2/3
- Sprachen gelten als verschieden, wenn sie traditionell mit zwei verschiedenen Namen bezeichnet werden. (Es mag hier einige Unklarheiten geben, aber lass das den Wettbewerb nicht ruinieren.)
- Sie müssen sich nicht an ASCII halten, Sie können beliebige Zeichen verwenden. Die Levenshtein-Distanz wird in Unicode- Zeichen gemessen .
- Die Ausgabe sollte nur
2^n
und keine anderen Zeichen sein. (Führende / nachfolgende Leerzeichen sind in Ordnung, ebenso wie nicht unterdrückbare Ausgaben wie>>>
oderans=
) - Wenn Ihre Sprache keine Standardsprache ist, verwenden Sie die für die schnelle Textausgabe üblichen Funktionen (z. B.
console.log
oderalert
in JavaScript). - Wenn die Zweierpotenz, die Sie ausgeben müssen, sehr groß wird, wird möglicherweise ein unendlicher Speicher, jedoch keine unendliche Ganzzahlgröße angenommen. Bitte seien Sie vorsichtig bei Überläufen von ganzen Zahlen.
- Sie können die wissenschaftliche Notation oder eine andere Sprache verwenden, die für die Darstellung von Zahlen am natürlichsten ist. (Mit Ausnahme von unary NICHT in unary ausgeben)
Bitte stellen Sie sicher, dass Ihre Antwort gültig ist. Wir wollen nicht merken, dass es nach fünf Antworten eine Unterbrechung in der Kette gibt. Ungültige Antworten sollten schnell behoben oder gelöscht werden, bevor weitere Antworten eingehen.
Bearbeiten Sie keine Antworten, es sei denn, dies ist unbedingt erforderlich.
Wertung
Sobald sich die Dinge beruhigt haben, gewinnt der Benutzer, der die meisten (gültigen) Antworten abgibt. Die Krawatten gehen an den Benutzer mit den kumulativsten Up-Votes.
Bearbeiten Sie diese, wenn Sie eine Antwort posten:
Bestenliste
13 Sprachen
Okx
8 Sprachen
Zeppelin
4 Sprachen
Pavel
Jonathan Allan
Kritixi Lithos
Riker3 Sprachen
Boboquack
2 Sprachen
Meilensteine
Conor O'Brien
Destructible Watermelon
ovs
Tom Carpenter1 Sprache
ATACO
Blocks
Dennis
dzaima
Erik die Outgolfer
ETHproductions
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-Derp
R. Kap
Taylor Scott
nimi
Mistah Figgins
PidgeyUsedGust
steenbergh
Bisher verwendete Sprachen:
- C # (Pavel)
- /// (Boboquack)
- Retina (Dennis)
- Jelly (Jonathon Allan)
- Pyth (Boboquack)
- > <> (Zerstörbare Wassermelone)
- Minkolang (Kritixi Lithos)
- Perl (Pavel)
- Python (Qwerp-Derp)
- dc (R. Kap)
- Holzkohle (Jonathon Allan)
- Selbstmodifizierender BrainFuck (Leo)
- SOGL (dzaima)
- ShapeScript (Jonathon Allan)
- Pyke (Boboquack)
- Ruby (Nathaniel)
- 05AB1E (ovs)
- STATA (Markierungen)
- bc (Kritixi Lithos)
- Japt (Okx)
- 2sable (Kritixi Lithos)
- Cheddar (Jonathon Allan)
- Pylone (Okx)
- Bash (Zeppelin)
- Aufdringlich (Okx)
- CJam (Erik der Outgolfer)
- MATL (Okx)
- MATLAB (Tom Carpenter)
- Oktave (Kritixi Lithos)
- R (ovs)
- JavaScript ES7 (Tom Carpenter)
- Konvex (Okx)
- Mathematica (ghosts_in_the_code)
- Pip (Okx)
- Gestapelt (Conor O'Brien)
- GolfScript (Okx)
- Eigentlich (Lynn)
- RProgN (Okx)
- Schema (bmarks)
- Element (Okx)
- J (Blöcke)
- Cubix (ETHproductions)
- zsh (Zeppelin)
- VBA (Taylor Scott)
- Fisch (Zeppelin)
- Retikular (Okx)
- Perl 6 (Pavel)
- RProgN2 (ATaco)
- PHP (Matheus Avellar)
- Jolf (Conor O'Brien)
- Haskell (nimi)
- Befunge-98 (Mistah Figgins)
- Gnuplot (Zeppelin)
- QBIC (steenbergh)
- NEBEL (Riker)
- Qwerty-RPN (Okx)
- Korn Shell (ksh) (Zeppelin)
- Julia (Riker)
- Python 3 (Pavel)
- Vimscript (Riker)
- Strich (Zeppelin)
- Vitsy (Okx)
- csh (Zeppelin)
- Ohm (Okx)
- Bosh (Zeppelin)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Diese Frage funktioniert am besten, wenn Sie nach ältesten sortieren .
Antworten:
Antwort 64, Ohm , Abstand 10
Hinzugefügt
64º,;S)1'a
Nur der
64º,
Code ist aktuell, der Rest ist nur Junk.Dieses Programm druckt die korrekte Ausgabe, fragt aber auch nach,
STDIN
nachdem es 2 64 gedruckt hat .quelle
Antwort 17: 05AB1E , Abstand von 3
Probieren Sie es online!
quelle
05AB1E
keine Fehler wirft.Antwort 24: Bash, Abstand 8
Probieren Sie es online!
quelle
Antwort 51, Haskell, Abstand 10
Entfernen Sie 2 NL, ersetzen Sie
^
am Anfang mit-
, stellen Sie eine andere voran-
, löschen Sie*
innerhalb derprint
, ersetzen Sie die 2.*
mit^
, überschreiben Sie49
mit51
, fügen Sie--
nach dem Druck ein.quelle
--
, ist die Bearbeitungsentfernung geringer als bei--
zwei vorangestellten Kommentaren .--
ist 2 Bytes, NL nur 1 entfernenAntwort 67, Gol> <> , Abstand 6
Wir benutzen das Trampolin
#
, um den Code in umgekehrter Reihenfolge anzuhängen. Durch EntfernenS)1'a
des;
kann es wiederverwendet werden, wobei nur 6 Zeichen hinzugefügt werden müssen.Probieren Sie es online!
Ich denke, das
#
erlaubt es einigen anderen Sprachen, es als kommentierte Zeile zu verwenden.quelle
Antwort 4: gelee abstand 3
Probieren Sie es online!
alle Einfügungen:
00Ḥ
.0{
und0}
sind dazu da, Parsing-Fehler zu unterdrücken (Pop aus der leeren Liste aufgrund der{
und}
als Quick-Befehle, die Monaden mit dem linken bzw. rechten Argument in Dyaden verwandeln).Ḥ
"hebt" 8 auf, um 16 zu machen.quelle
{
(Nachherclass HelloWorld
) kein0
Vorher, aber die anderen beiden?()
vor der zweiten Klammer in der ersten Zeile. Die dritte Zeile kann nicht mit einer geschweiften Klammer beginnen, da es keine Monade gibt, auf die man einwirken kann.Antwort 5: Pyth
Druckt das numerische Literal
32
und anschließend den Abstand zwischen2
und"
unterdrückt das Drucken des (automatisch vervollständigten) Zeichenfolgenliteral.+4 Zeichen -
32 "
Probieren Sie es auf Herokuapp
quelle
Antwort 6 -> <>
Ersetzte ein Leerzeichen durch ", drückt der Code 3, 2, 4, kehrt dann um, drückt 4,2,3, wirft dann 3 vom Stapel und multipliziert 2, 4, 4, 2 für 64, gibt es aus und hält an
Probieren Sie es online aus
Verwenden Sie möglicherweise https://www.fishlanguage.com/playground
quelle
Antwort 3: Netzhaut , Abstand 3
Angefügt
|\n8
(Abstand 3).Probieren Sie es online!
quelle
Antwort 20: Japt, Abstand 8
Probieren Sie es online!
Änderungen:
Geändert
2^19
zu2**20
Beginn des Programms, um die Leistung zu berechnen (4)Ersetzt
#
mit$
der ersten Zeile so , dass alles vorbei ist , als JS interpretiert (1)Entfernen Sie in der letzten Zeile das
/
und fügen Sie*/
am Ende des Programms ein hinzu, damit der Kommentar das gesamte Programm einnimmt (3).quelle
Antwort 27: MATL, Abstand 4
Probieren Sie es online!
Hinzugefügt
27W%
Erläuterung:
quelle
Antwort 50: Jolf, Abstand 10
Probieren Sie es hier aus!
Voranstellen
^2@2(
(+5)Entfernt
±
undß
von#ß6904±r
(+2)Entfernt
ó
vonóout
(+1)Entfernt
<?
von<?#"#28@P2*
(+2)Total: 10. Entfernen Sie alle Nicht-ASCII-Zeichen!
Erläuterung
(
hört auf zu analysieren, der Code sieht also so aus:quelle
Antwort 52. Befunge-98 , Abstand 8 + 2
Vielen Dank an @DestructibleWatermelon für das Golfen eines Bytes!
Probieren Sie es online!
Hinzugefügt
'3k
vor2
, und'2k*.
zwischen2
und@
.--
tut nichts,'3k2
legt 52 2s auf den Stapel und'2k*.@
multipliziert sie, druckt die Zahl und beendetAußerdem habe ich ein
d"
After hinzugefügtprintf("%
, um das Leben anderer Leute zu erleichtern, da ich 2 zusätzliche Charaktere hatte. Das Befunge-98-Programm ist davon nicht betroffen.quelle
Antwort 42: Cubix , Abstand 8
Probieren Sie es online!
Das
lert(2**31
in der Mitte wurde geändert zu44******O@
.quelle
Antwort 60, Vimscript, Abstand 10
Die 2
#
am Anfang der mittleren beiden Zeilen wurde in geändert"
, ein"
vor der ersten Zeile hinzugefügt und:py<space>
vor der letzten Zeile .Zur Klarstellung:
"
ist ein Zeilenkommentar in Vimscript (zumindest am Anfang einer Zeile) und muss nicht abgeglichen werden.Vim kann Python-Code ausführen. Dies ist also wirklich gleichbedeutend damit, Python nach der Antwort zu fragen.
quelle
Antwort 8: Perl
Genau Abstand von 10: +4
#
für Kommentare, +1 Newline danachSystem.Console.
, +3 zum Umwandelnwrite
inprint
, +2 zum Umwandeln2
in256
.Ich wollte nicht teilnehmen, aber ich wollte sicherstellen, dass einige regelmäßige langs hinzugefügt wurden, bevor etwas zu verrückt wurde.
Probieren Sie es online!
quelle
Antwort 49: PHP, Abstand 6
Hinzugefügt
<?
und?>
zum Öffnen und Schließen von PHP-Tags.Ersetzt
48
durch49
.#
startet einen Kommentar zu PHP, es wird also nichts außer beachtetHier ist ein Screenshot der korrekten Syntax-Hervorhebung und -Ausgabe zur Veranschaulichung:
quelle
Antwort 2: ///
+4 Zeichen -
///4
Probieren Sie es online!
quelle
Different versions of the same language count as the same language.
scheint gut genug zu sein, "Python" allein unter "Verwendete Sprachen ..." aufzulisten .Antwort 7: Minkolang , Entfernung: 4
Probieren Sie es online!
Ich
7;N.
habe dem Programm hinzugefügt . Grundsätzlich3
werden2
und7
auf den Stapel geschoben und dann mit 2 auf die siebte Potenz angehoben;
. Dies wird dann alsN
Umber ausgegeben und dann stoppt das Programm auf dem.
quelle
Antwort 11: Holzkohle , Abstand 5
Probieren Sie es online!
Die griechischen Großbuchstaben
A
undβ
sind Variablen, denen die folgenden ASCII-Zeichen zugewiesen werden. Der Endwert wird implizit gedruckt.quelle
10
? Meine war die 10. Antwort.⎚
(klar), ist es kürzerAntwort 10: Gleichstrom , Abstand von 5
Hier ist ein gültiges
dc
Programm welches ausgibt1024
.Probieren Sie es online!
quelle
Antwort 12: Selbstmodifizierendes Brainfuck
Probieren Sie es online!
SMBF ist wie Brainfuck, nur dass der Quellcode auf dem Band links von der Startposition verfügbar ist. Hier haben wir die Nummer, die am Ende des Codes in umgekehrter Reihenfolge gedruckt werden soll, und das tun wir auch
<.
viermal, um alle vier Ziffern zu drucken.Ich fügte jeweils ein
<
vor.
dem Code hinzu (es gab 3 davon), ein zusätzliches<.
und änderte die endgültige Nummer. Abstand sollte 8 sein.quelle
Antwort 29: Oktave , Abstand: 1
Probieren Sie es online!
Alles , was ich hatte , war, die sich ändern
28
zu29
quelle
Antwort 31: JavaScript ES7, Abstand 7
ES7 unterstützt die
**
Bediener bei der Stromversorgung.Sie können es hier online versuchen .
quelle
Antwort 33: Mathematica, Abstand 9
Erläuterung
Setzt alles in Kommentare und gibt 2 ^ 33 aus
Bitte vergewissern Sie sich, dass diese Antwort gültig ist, bevor Sie Ihre eigene Antwort abgeben, da ich neu darin bin und nicht die Kette brechen möchte.
quelle
Antwort 37: Eigentlich Abstand 7
Ersetzt
36?#
durch:37@ⁿ.ó
.Probieren Sie es online!
quelle
Antwort 38: RProgN, Abstand 10
Probieren Sie es online!
Ersetzt
2:37
durch2 38 ^ exit
(10) (Leerzeichen beachten)Erläuterung:
quelle
Antwort 47: Perl 6 , Abstand 10
Perl 6 unterscheidet sich von Perl. Ich habe versucht, C die Straße runter einzurichten, indem ich
"%
nachher hinzufügeprintf
, hoffentlich nutzt das jemand.Probieren Sie es online!
quelle
Antwort 48: RProgN2 , Abstand 9
Dem
"
Start wurde ein hinzugefügt , das alles daran hinderte zu brechen, das[[[
am Ende den Speicher löscht und268*^
die neue Antwort berechnet. Implizit gedruckt.Probieren Sie es online!
quelle
Antwort 66, es (Shell) +
bc
, Abstand 8Geändert
exit
zuquit()
undiker
nach dem ersten hinzugefügtr
. Ich konnte nicht widerstehen und wollte 4 weitere Charaktere hinzufügen.quelle