Ceci est un reportage de Evolution de “Hello World!” , Écrit à l'origine par l'utilisateur Helka Homba
Il ne devrait pas être fermé comme une duplication, en raison du méta consensus ici .
L'original a été posé il y a plus de deux ans et était actif il y a plus de six mois. J'ai la permission de Helka Homba de poster ceci ici
Depuis l’original, de nombreuses langues ont été inventées et de nombreuses personnes ont rejoint le site sans avoir eu la possibilité de répondre à l’original. J’estime donc que cette publication est acceptable.
Le défi consiste à créer un programme qui imprime 2^n
sur la sortie standard, où se n
trouve le numéro de votre programme. Le problème est que votre programme doit avoir une distance de Levenshtein de 10 ou moins du programme dans la réponse soumise avant le vôtre.
Comment cela fonctionnera
Ci-dessous, je vais soumettre la première réponse en utilisant C #, qui affiche 2 ^ (n = 1) = 2
.
La personne suivante à répondre doit modifier le code en introduisant, en supprimant ou en substituant jusqu'à 10 caractères uniques, de sorte que, lorsqu'il est exécuté dans la langue de la nouvelle réponse, il soit imprimé 2^n
(avec n
le numéro de la réponse). Par exemple, la 25e réponse (supposons qu'elle soit en Pyth) indique 2 ^ 25 ou 33554432.
Cela continuera jusqu'à ce que tout le monde soit bloqué, car il n'y a pas de nouvelle langue. Le programme de la dernière réponse peut être exécuté en changeant seulement 10 caractères. Le but commun est de voir combien de temps nous pouvons continuer, alors essayez de ne pas faire de modifications de personnage obscures ou injustifiées (ceci n’est cependant pas une obligation).
Mise en forme
Veuillez formater votre message de la manière suivante:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Où N est le numéro de réponse (augmente progressivement, N = 1, 2, 3, ...).
Vous n'êtes pas obligé de dire quels caractères exacts ont été changés. Assurez-vous simplement que la distance de Levenshtein est comprise entre 0 et 10.
Si vous répondez dans une langue ou si le code résultant n’est qu’un gâchis, veuillez expliquer ce que vous avez fait et pourquoi cela fonctionne, bien que cela ne soit pas obligatoire.
Règles
L’essentiel pour comprendre ce défi est qu’une seule personne à la fois peut répondre et que chaque réponse dépend de celle qui la précède .
Il ne devrait jamais y avoir deux réponses avec le même N. S'il arrive que deux personnes répondent simultanément pour un certain N, celui qui a répondu plus tard (même s'il y a une différence de quelques secondes) devrait effacer gracieusement sa réponse.
En outre...
- Un utilisateur ne peut pas soumettre deux réponses consécutives. (par exemple, depuis que j'ai soumis la réponse 1, je ne peux pas répondre à la question 2, mais je pourrais en faire la réponse 3.)
- Essayez d'éviter de poster trop de réponses dans un court laps de temps.
- Chaque réponse doit être dans un langage de programmation différent.
- Vous pouvez utiliser différentes versions majeures d'un langage, comme Python 2/3
- Les langues sont considérées comme distinctes si elles sont traditionnellement appelées par deux noms différents. (Il y a peut-être des ambiguïtés ici, mais ne laissez pas cela gâcher le concours.)
- Vous n'êtes pas obligé de vous en tenir à ASCII, vous pouvez utiliser tous les caractères de votre choix. La distance de Levenshtein sera mesurée en caractères Unicode .
- La sortie ne devrait être que
2^n
et pas d'autres caractères. (Les espaces de début et de fin sont corrects, de même que les résultats non supprimables tels que>>>
ouans=
) - Si votre langue n'a pas stdout, utilisez ce qui est couramment utilisé pour produire rapidement du texte (par exemple
console.log
oualert
en JavaScript). - Lorsque la puissance de deux que vous devez produire devient très grande, vous pouvez assumer une mémoire infinie, mais pas une taille entière infinie. S'il vous plaît méfiez-vous des débordements entiers.
- Vous pouvez utiliser la notation scientifique ou la manière la plus naturelle de représenter des nombres dans la langue de votre choix. (Sauf pour le unaire, NE PAS sortir en unaire)
Assurez-vous que votre réponse est valide. Nous ne voulons pas nous rendre compte qu'il y a une rupture dans la chaîne avec cinq réponses. Les réponses non valides doivent être corrigées rapidement ou supprimées avant que d'autres réponses ne soient disponibles.
Ne modifiez pas les réponses sauf si absolument nécessaire.
Notation
Une fois que les choses se sont stabilisées, l'utilisateur qui envoie les réponses les plus (valides) l'emporte. Les liens vont à l'utilisateur avec le plus grand nombre de votes cumulatifs.
Modifiez-les lorsque vous publiez une réponse:
Classement
13 langues
Okx
8 langues
Zeppelin
4 langues
Pavel
Jonathan Allan
Kritixi Lithos
Riker3 langues
boboquack
2 langues
bmarks
Conor O'Brien
Destructible Pastèque
Ovs
Tom Carpenter1 langue
ATACO
blocs
Dennis
dzaima
Erik le Outgolfer
ETHproductions
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-Derp
R. Kap
Taylor Scott
Nimi
Mistah Figgins
PidgeyUsedGust
Steenbergh
Langues utilisées jusqu'à présent:
- C # (Pavel)
- /// (boboquack)
- Rétine (Dennis)
- Jelly (Jonathon Allan)
- Python (Boboquack)
- > <> (Pastèque Destructible)
- Minkolang (Kritixi Lithos)
- Perl (Pavel)
- Python (Qwerp-Derp)
- dc (R. Kap)
- Fusain (Jonathon Allan)
- BrainFuck à auto-modification (Leo)
- SOGL (dzaima)
- ShapeScript (Jonathon Allan)
- Pyke (Boboquack)
- Ruby (Nathaniel)
- 05AB1E (ovs)
- STATA (bmarks)
- bc (Kritixi Lithos)
- Japt (Okx)
- 2sable (Kritixi Lithos)
- Cheddar (Jonathon Allan)
- Pylônes (Okx)
- Bash (zeppelin)
- Pushy (Okx)
- CJam (Erik the Outgolfer)
- MATL (Okx)
- MATLAB (Tom Carpenter)
- Octave (Kritixi Lithos)
- R (ovs)
- JavaScript ES7 (Tom Carpenter)
- Convexe (Okx)
- Mathematica (ghosts_in_the_code)
- Pip (Okx)
- Empilé (Conor O'Brien)
- GolfScript (Okx)
- En fait (Lynn)
- RProgN (Okx)
- Scheme (bmarks)
- Element (Okx)
- J (Blocs)
- Cubix (ETHproductions)
- zsh (zeppelin)
- VBA (Taylor Scott)
- Poisson (zeppelin)
- Réticulaire (okx)
- Perl 6 (Pavel)
- RProgN2 (ATaco)
- PHP (Matheus Avellar)
- Jolf (Conor O'Brien)
- Haskell (nimi)
- Befunge-98 (Mistah Figgins)
- Gnuplot (zeppelin)
- CQIB (steenbergh)
- FOG (Riker)
- Qwerty-RPN (Okx)
- Korn Shell (ksh) (zeppelin)
- Julia (Riker)
- Python 3 (Pavel)
- Vimscript (Riker)
- Dash (zeppelin)
- Vitsy (Okx)
- csh (zeppelin)
- Ohm (Okx)
- Bosh (zeppelin)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Cette question fonctionne mieux lorsque vous triez par le plus ancien .
Réponses:
Réponse 64, Ohm , distance 10
Ajoutée
64º,;S)1'a
Seul le
64º,
code est réel, le reste n'est que de la camelote.Ce programme imprimera la sortie correcte, mais il vous en demandera quelques-unes
STDIN
après avoir imprimé 2 64 .la source
Réponse 17: 05AB1E , Distance de 3
Essayez-le en ligne!
la source
05AB1E
ne jette pas d'erreur.Réponse 24: Bash, distance 8
Essayez-le en ligne!
la source
Réponse 51, Haskell, distance 10
Supprimez 2 NL, remplacez
^
au début par-
, ajoutez-en une autre-
, supprimez-les*
dansprint
, remplacez 2e*
par^
, écrasez-le49
par51
, insérez--
après l'impression.la source
--
, il s'agit donc d'une distance d'édition inférieure à celle précédée de--
deux ajouts .--
est de 2 octets, ce qui supprime NL seulement 1Réponse 67, Gol> <> , distance 6
Nous pouvons utiliser le trampoline
#
pour simplement ajouter le code en sens inverse. En supprimantS)1'a
le, vous;
pouvez le réutiliser et ne nécessiter que 6 caractères.Essayez-le en ligne!
Je pense que garder le
#
permet à d'autres langues de l'utiliser comme une ligne commentée.la source
Réponse 4: Distance de gelée 3
Essayez-le en ligne!
toutes les insertions:
00Ḥ
.0{
et0}
sont là pour supprimer les erreurs d' analyse syntaxique (pop de la liste vide en raison des{
et}
étant Quicks que les monades à son tour dans dyades en utilisant l'argument de gauche et de droite).Ḥ
"unhalves" 8 pour faire 16.la source
{
(aprèsclass HelloWorld
) n'a-t-il pas besoin d'un0
avant, alors que les deux autres en ont besoin ?()
avant avant la deuxième accolade ouverte sur la première ligne. La troisième ligne ne peut pas commencer par une attache car il n’ya pas de monade sur laquelle agir.Réponse 5: Pyth
Imprime le littéral numérique
32
, puis l'espace entre2
et et"
supprime l'impression du littéral de chaîne (complété automatiquement).+4 caractères -
32 "
Essayez-le sur herokuapp
la source
Réponse 6 -> <>
a remplacé un espace par ", le code pousse 3, 2, 4, puis s'inverse, pousse 4,2,3, puis fait sauter 3 de la pile, et multiplie 2, 4, 4, 2, pour 64, le sort et s'arrête
Essayez-le en ligne
peut-être utiliser https://www.fishlanguage.com/playground
la source
Réponse 3: Rétine , distance 3
En annexe
|\n8
(distance 3).Essayez-le en ligne!
la source
Réponse 20: Japt, distance 8
Essayez-le en ligne!
Modifications:
Passé
2^19
à2**20
au début du programme, pour calculer la puissance (4)Remplacé
#
par$
sur la première ligne, de sorte que tout ce qui est passé est interprété comme JS (1)Sur la dernière ligne, supprimez le
/
et ajoutez un*/
à la fin du programme pour que le commentaire occupe tout le programme (3)la source
Réponse 27: MATL, distance 4
Essayez-le en ligne!
Ajoutée
27W%
Explication:
la source
Réponse 50: Jolf, distance 10
Essayez-le ici!
Préposé
^2@2(
(+5)Enlevé
±
etß
de#ß6904±r
(+2)Enlevé
ó
deóout
(+1)Enlevé
<?
de<?#"#28@P2*
(+2)Total: 10. Supprimez tous les caractères non-ASCII!
Explication
(
arrête l'analyse, donc le code ressemble à:la source
Réponse 52. Befunge-98 , distance 8 + 2
Merci à @DestructibleWatermelon pour avoir joué un octet au golf!
Essayez-le en ligne!
Ajouté
'3k
avant le2
, et'2k*.
entre le2
et@
.--
ne fait rien,'3k2
met 52 2 sur la pile et'2k*.@
multiplie ensemble, affiche le nombre et quitteDe plus, j'ai ajouté un
d"
aprèsprintf("%
pour rendre la vie des autres plus facile, car j'avais 2 personnages supplémentaires. Cela n'affecte pas le programme Befunge-98.la source
Réponse 42: Cubix , distance 8
Essayez-le en ligne!
Le
lert(2**31
dans le milieu a été changé pour44******O@
.la source
Réponse 60, Vimscript, distance 10
Changé le 2
#
au début des deux lignes du milieu en"
, ajouté un"
devant la première ligne, et:py<space>
devant la dernière ligne.Pour clarification:
"
est un commentaire de ligne dans vimscript (au moins au début d'une ligne), et n'a pas besoin d'être mis en correspondance.Vim peut exécuter du code python, c'est donc vraiment équivalent à demander la réponse à python.
la source
Réponse 8: Perl
Distance exacte de 10: +4
#
pour les commentaires, +1 nouvelle ligne aprèsSystem.Console.
, +3 pour la transformationwrite
enprint
, +2 pour la transformation2
en256
.Je n'allais pas participer, mais je voulais m'assurer que des langs réguliers étaient ajoutés avant que tout ne devienne trop fou.
Essayez-le en ligne!
la source
Réponse 49: PHP, distance 6
Ajouté
<?
et?>
pour ouvrir et fermer les balises PHP, respectivement.Remplacé
48
par49
.#
commence un commentaire sur PHP, donc rien n'est considéré sauf pourVoici une capture d'écran de la syntaxe et de la syntaxe appropriées pour vous aider à visualiser:
la source
Réponse 2: ///
+4 caractères -
///4
Essayez-le en ligne!
la source
Different versions of the same language count as the same language.
liste "Python" uniquement sous "Langues utilisées ..." semble suffire.Réponse 7: Minkolang , Distance: 4
Essayez-le en ligne!
J'ai ajouté
7;N.
au programme. Fondamentalement3
,2
et7
sont poussés à la pile, puis 2 est élevé à la septième puissance en utilisant;
. Ceci est ensuite émis sous forme d'N
ombre, puis le programme s'arrête sur l'écran..
la source
Réponse 11: Fusain , distance 5
Essayez-le en ligne!
Les lettres grecques majuscules
A
etβ
sont des variables auxquelles sont affectés les caractères ASCII suivants. La valeur finale est implicitement imprimée.la source
10
? La mienne était la dixième réponse.⎚
(clair), c'est plus courtRéponse 10: dc , distance de 5
Voici un
dc
programme valide qui génère1024
.Essayez-le en ligne!
la source
Réponse 12: Brainfuck auto-modificateur
Essayez-le en ligne!
SMBF est comme brainfuck, sauf que le code source est disponible sur la bande à gauche de la position de départ. Nous avons ici le numéro à imprimer en sens inverse à la fin du code, et nous le faisons
<.
quatre fois pour imprimer les quatre chiffres.J'ai ajouté un
<
avant chacun.
dans le code (il y en avait 3), un extra<.
et modifié le numéro final. Distance devrait être 8.la source
Réponse 29: Octave , Distance: 1
Essayez-le en ligne!
Tout ce que je devais faire était de changer
28
pour29
la source
Réponse 31: JavaScript ES7, Distance 7
ES7 supporte le
**
opérateur pour le pouvoir.Vous pouvez essayer en ligne ici .
la source
Réponse 33: Mathematica, distance 9
Explication
Tout mettre dans les commentaires et les sorties 2 ^ 33
Veuillez vérifier que cette réponse est valide avant de mettre la vôtre car je suis nouvelle dans ce domaine et je ne veux pas finir par casser la chaîne.
la source
Réponse 37: En fait , distance 7
Remplacé
36?#
par:37@ⁿ.ó
.Essayez-le en ligne!
la source
Réponse 38: RProgN, distance 10
Essayez-le en ligne!
Remplacé
2:37
par2 38 ^ exit
(10) (notez l'espace de fin)Explication:
la source
Réponse 47: Perl 6 , distance 10
Perl 6 est considéré comme distinct de Perl. J'ai essayé de configurer C sur la route en ajoutant
"%
aprèsprintf
, j'espère que quelqu'un l'utilisera.Essayez-le en ligne!
la source
Réponse 48: RProgN2 , distance 9
Ajout d'un
"
au début qui a tout arrêté de casser, le[[[
à la fin efface la mémoire, et268*^
calcule la nouvelle réponse. Implicitement imprimé.Essayez-le en ligne!
la source
Réponse 66, es (coquille) +
bc
, distance 8Changé
exit
àquit()
, et ajoutéiker
après le premierr
. Je ne pouvais pas résister et je voulais ajouter 4 personnages supplémentaires.la source