Este es un reenvío de Evolution of "Hello World!" , Escrito originalmente por el usuario Helka Homba
No debe cerrarse como duplicado, debido al meta consenso aquí .
El original se solicitó hace más de dos años y estuvo activo por última vez hace más de seis meses. Tengo permiso de Helka Homba para publicar esto aquí
Desde el original, se han inventado muchos idiomas, y muchas personas se han unido al sitio que nunca han tenido la oportunidad de responder el original, por lo que creo que este reenvío es aceptable.
El desafío es hacer un programa que se imprima 2^n
en stdout, donde n
está el número de su programa. El problema es que su programa debe tener una distancia de Levenshtein de 10 o menos del programa en la respuesta presentada antes que la suya.
Cómo funcionará esto
A continuación, enviaré la primera respuesta con C #, que imprime 2 ^ (n = 1) = 2
.
La siguiente persona que responda debe modificar el código con hasta 10 inserciones, eliminaciones o sustituciones de un solo carácter para que cuando se ejecute en el idioma de la nueva respuesta, se imprima 2^n
(con n
el número de respuesta). Por ejemplo, la respuesta número 25 (digamos que está en Pyth) imprimiría 2 ^ 25 o 33554432.
Esto continuará hasta que todos se atasquen porque no hay un nuevo idioma en el que se pueda ejecutar el programa de la última respuesta solo cambiando 10 caracteres. El objetivo común es ver cuánto tiempo podemos mantener esto, así que trate de no hacer ediciones de caracteres oscuras o injustificadas (sin embargo, esto no es un requisito).
Formateo
Por favor, formatee su publicación de esta manera:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Donde N es el número de respuesta (aumenta gradualmente, N = 1, 2, 3, ...).
No tiene que decir qué caracteres exactos se cambiaron. Solo asegúrese de que la distancia de Levenshtein sea de 0 a 10.
Si su respuesta en un idioma o el código resultante es un desastre, no por favor, explique lo que hizo y por qué funciona, aunque esto no es necesario.
Reglas
La clave para entender sobre este desafío es que solo una persona puede responder a la vez y cada respuesta depende de la anterior .
Nunca debe haber dos respuestas con el mismo N. Si dos personas responden simultáneamente por un poco de N, el que respondió más tarde (incluso si es una diferencia de unos segundos) debería eliminar gentilmente su respuesta.
Además...
- Un usuario no puede enviar dos respuestas seguidas. (por ejemplo, desde que envié la respuesta 1 no puedo responder 2, pero podría responder 3.)
- Intente evitar publicar demasiadas respuestas en un corto período de tiempo.
- Cada respuesta debe estar en un lenguaje de programación diferente.
- Puede usar diferentes versiones principales de un lenguaje, como Python 2/3
- Los idiomas cuentan como distintos si tradicionalmente se llaman con dos nombres diferentes. (Puede haber algunas ambigüedades aquí, pero no dejes que eso arruine el concurso).
- No tiene que atenerse a ASCII, puede usar los caracteres que desee. La distancia de Levenshtein se medirá en caracteres unicode .
- La salida solo debe ser
2^n
y no otros caracteres. (El espacio en blanco inicial / final está bien, al igual que la salida no soportable como>>>
oans=
) - Si su idioma no tiene stdout, use lo que se usa comúnmente para generar texto rápidamente (por ejemplo,
console.log
oalert
en JavaScript). - Cuando la potencia de dos que tiene que emitir es muy grande, puede asumir una memoria infinita, pero no un tamaño entero infinito. Tenga cuidado con los desbordamientos de enteros.
- Puede hacer uso de la notación científica o de cualquier idioma que sea la forma más natural de representar números. (Excepto para unario, NO envíe en unario)
Asegúrate de que tu respuesta sea válida. No queremos darnos cuenta de que hay una ruptura en la cadena de cinco respuestas. Las respuestas no válidas deben repararse rápidamente o eliminarse antes de que haya respuestas adicionales.
No edite las respuestas a menos que sea absolutamente necesario.
Tanteo
Una vez que las cosas se calman, el usuario que envía la mayoría de las respuestas (válidas) gana. Los lazos van al usuario con los votos positivos más acumulativos.
Edítelos cuando publique una respuesta:
Tabla de clasificación
13 idiomas
Okx
8 idiomas
zepelín
4 idiomas
Pavel
Jonathan Allan
Kritixi Lithos
Riker3 idiomas
boboquack
2 idiomas
comentarios
Conor O'Brien
Sandía Destructible
ovs
Tom Carpenter1 idioma
ATaco
Blocks
Dennis
dzaima
Erik the Outgolfer
ETHproductions
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-Derp
R. Kap
Taylor Scott
nimi
Mistah Figgins
PidgeyUsedGust
steenbergh
Idiomas utilizados hasta ahora:
- C # (Pavel)
- /// (boboquack)
- Retina (Dennis)
- Jalea (Jonathon Allan)
- Pyth (boboquack)
- > <> (Sandía Destructible)
- Minkolang (Kritixi Lithos)
- Perl (Pavel)
- Python (Qwerp-Derp)
- dc (R. Kap)
- Carbón (Jonathon Allan)
- BrainFuck auto modificable (Leo)
- SOGL (dzaima)
- ShapeScript (Jonathon Allan)
- Pyke (boboquack)
- Rubí (Nathaniel)
- 05AB1E (ovs)
- STATA (marcas)
- aC (Kritixi Lithos)
- Japt (Okx)
- 2sable (Kritixi Lithos)
- Cheddar (Jonathon Allan)
- Pilones (Okx)
- Bash (zepelín)
- Pushy (Okx)
- CJam (Erik el Outgolfer)
- MATL (Okx)
- MATLAB (Tom Carpenter)
- Octava (Kritixi Lithos)
- R (ovs)
- JavaScript ES7 (Tom Carpenter)
- Convexo (Okx)
- Mathematica (ghosts_in_the_code)
- Pip (Okx)
- Apilado (Conor O'Brien)
- GolfScript (Okx)
- En realidad (lynn)
- RProgN (Okx)
- Esquema (comentarios)
- Elemento (Okx)
- J (bloques)
- Cubix (ETHproductions)
- zsh (zepelín)
- VBA (Taylor Scott)
- Pescado (zepelín)
- Reticular (Okx)
- Perl 6 (Pavel)
- RProgN2 (ATaco)
- PHP (Matheus Avellar)
- Jolf (Conor O'Brien)
- Haskell (nimi)
- Befunge-98 (Mistah Figgins)
- Gnuplot (zepelín)
- QBIC (steenbergh)
- FOG (Riker)
- Qwerty-RPN (Okx)
- Korn Shell (ksh) (zepelín)
- Julia (Riker)
- Python 3 (Pavel)
- Vimscript (Riker)
- Dash (zepelín)
- Vitsy (Okx)
- csh (zepelín)
- Ohm (Okx)
- Bosh (zepelín)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Esta pregunta funciona mejor cuando ordena por más antigua .
Respuestas:
Answer 64, Ohm, distance 10
Added
64º,;S)1'a
Only the
64º,
is actual code, the rest is just junk.This program will print the correct output, but it will also ask for some
STDIN
after it has printed 264.fuente
Answer 17: 05AB1E, Distance of 3
Try it online!
fuente
05AB1E
doesn't throw errors.Answer 24: Bash, distance 8
Try It Online !
fuente
Answer 51, Haskell, distance 10
Remove 2 NL, replace
^
at the beginning with-
, prepend another-
, delete*
within theprint
, replace 2nd*
with^
, overwrite49
with51
, insert--
after the print.fuente
--
, so it's a lower edit distance than prepending--
twice.--
is 2 bytes, removing NL just 1Answer 67, Gol><>, distance 6
We van use the trampoline
#
to just append the code in reverse. By removingS)1'a
the;
can be reused, needing only 6 characters to be added.Try it online!
I think keeping the
#
allows for some other languages to use it as a commented line.fuente
Answer 4: Jelly distance 3
Try it online!
all insertions:
00Ḥ
.0{
and0}
are there to suppress parsing errors (pop from empty list due to the{
and}
being quicks that turn monads into dyads using the left and right argument respectively).Ḥ
"unhalves" 8 to make 16.fuente
{
(afterclass HelloWorld
) not need a0
before it, but the other two do?()
before the second open brace on the first line. The third line cannot start with a brace as there is no monad on which to act.Answer 5: Pyth
Prints the numeric literal
32
, then the space between the2
and the"
suppresses printing of the (auto-completed) string literal.+4 characters -
32 "
Try it on herokuapp
fuente
Answer 6 - ><>
replaced a space with ", the code pushes 3, 2, 4, then reverses, pushes 4,2,3, then pops 3 off the stack, and multiplies 2, 4, 4, 2, for 64, outputs it and halts
Try it online
maybe use https://www.fishlanguage.com/playground
fuente
Answer 3: Retina, distance 3
Appended
|\n8
(distance 3).Try it online!
fuente
Answer 20: Japt, distance 8
Try it online!
Modifications:
Changed
2^19
to2**20
at the start of the program, to calculate the power (4)Replaced
#
with$
on the first line so that everything past it is interpreted as JS (1)On the last line, removed the
/
and added a*/
at the end of the program, so the comment takes up the whole program (3)fuente
Answer 27: MATL, distance 4
Try it online!
Added
27W%
Explanation:
fuente
Answer 50: Jolf, distance 10
Try it here!
Prepended
^2@2(
(+5)Removed
±
andß
from#ß6904±r
(+2)Removed
ó
fromóout
(+1)Removed
<?
from<?#"#28@P2*
(+2)Total: 10. Remove all the non-ASCII characters!
Explanation
(
stops parsing, so the code looks like:fuente
Answer 52. Befunge-98, distance 8 + 2
Thanks to @DestructibleWatermelon for golfing a byte!
Try it Online!
Added
'3k
before the2
, and'2k*.
between the2
and@
.--
does nothing,'3k2
puts 52 2s onto the stack, and'2k*.@
multiplies them together, prints the number, and exitsAlso, I added a
d"
afterprintf("%
to make other people's lives easier, as I had 2 extra characters. It doesn't affect the Befunge-98 program.fuente
Answer 42: Cubix, distance 8
Try it online!
The
lert(2**31
in the middle was changed to44******O@
.fuente
Answer 60, Vimscript, distance 10
Changed the 2
#
on the start of the middle two lines to"
, added a"
in front of the first line, and:py<space>
in front of the last line.For clarification:
"
is a line comment in vimscript (at least at the start of a line), and doesn't need to be matched.Vim can run python code, so this is really equivalent to asking python for the answer.
fuente
Answer 8: Perl
Exactly distance of 10: +4
#
for comments, +1 newline afterSystem.Console.
, +3 for transformingwrite
intoprint
, +2 for turning2
into256
.I wasn't going to participate, but I wanted to make sure some regular langs were added before anything got too insane.
Try it online!
fuente
Answer 49: PHP, distance 6
Added
<?
and?>
to open and close PHP tags, respectively.Replaced
48
with49
.#
starts a comment on PHP, so nothing is considered except forHere's a screenshot of proper syntax highlihgting and output to help visualize:
fuente
Answer 2: ///
+4 chars -
///4
Try it online!
fuente
Different versions of the same language count as the same language.
Listing "Python" alone under "Languages used..." seems to be good enough.Answer 7: Minkolang, Distance: 4
Try it online!
I added
7;N.
to the program. Basically3
,2
and7
are pushed to the stack and then 2 is raised to the seventh power using;
. This is then outputted as aN
umber and then the program stops on the.
fuente
Answer 11: Charcoal, distance 5
Try It Online!
The uppercase Greek letters
A
andβ
are variables which are assigned the ASCII characters following. The final value is implicitly printed.fuente
10
? Mine was the 10th answer.⎚
(clear) is shorterAnswer 10: dc, Distance of 5
Here is a valid
dc
program which outputs1024
.Try it online!
fuente
Answer 12: Self-modifying Brainfuck
Try it online!
SMBF is just like brainfuck, except the source code is available on the tape to the left of the starting position. Here we have the number to print in reverse at the end of the code, and we do
<.
four times to print all four digits.I added a
<
before each.
in the code (there were 3 of them), an extra<.
, and modified the final number. Distance should be 8.fuente
Answer 29: Octave, Distance: 1
Try it online!
All I had to do was to change the
28
to29
fuente
Answer 31: JavaScript ES7, Distance 7
ES7 supports the
**
operator for power.You can try online here.
fuente
Answer 33: Mathematica, distance 9
Explanation
Puts everything inside comments and outputs 2^33
Please verify that this answer is valid before putting your own because I am new at this and don't want to end up breaking the chain.
fuente
Answer 37: Actually, distance 7
Replaced
36?#
with:37@ⁿ.ó
.Try it online!
fuente
Answer 38: RProgN, distance 10
Try it online!
Replaced
2:37
with2 38 ^ exit
(10) (note the trailing space)Explanation:
fuente
Answer 47: Perl 6, distance 10
Perl 6 is considered distinct from Perl. I tried to set up C down the road by adding
"%
afterprintf
, hopefully someone uses that.Try it online!
fuente
Answer 48: RProgN2, distance 9
Added a
"
to the start which stopped everything from breaking, the[[[
at the end clears the memory, and268*^
calculates the new answer. Implicitly printed.Try it online!
fuente
Answer 66, es (shell) +
bc
, distance 8Changed
exit
toquit()
, and addediker
after the firstr
. I couldn't resist and I wanted to add 4 more characters.fuente