Este é um repost da Evolução do "Hello World!" , Originalmente escrito pelo usuário Helka Homba
Não deve ser fechado como duplicado, devido ao meta consenso aqui .
O original foi pedido há mais de dois anos e estava ativo pela última vez há mais de seis meses. Tenho permissão da Helka Homba para postar aqui
Desde o original, muitos idiomas foram inventados e muitas pessoas ingressaram no site que nunca tiveram a oportunidade de responder ao original, então sinto que este repost é aceitável.
O desafio é criar um programa que imprima 2^n
em stdout, onde n
está o número do seu programa. O problema é que seu programa deve ter uma distância de Levenshtein igual ou inferior a 10 do programa na resposta enviada antes da sua.
Como isso funcionará
Abaixo, enviarei a primeira resposta usando C #, que imprime 2 ^ (n = 1) = 2
.
A próxima pessoa a responder deve modificar o código com até 10 inserções, exclusões ou substituições de caracteres únicos, para que, quando executado no idioma da nova resposta, seja impresso 2^n
( n
sendo o número da resposta). Por exemplo, a 25ª resposta (digamos que esteja em Pyth) imprimiria 2 ^ 25 ou 33554432.
Isso continuará até que todos fiquem presos, porque não há um novo idioma para que o programa da última resposta seja executado, alterando apenas 10 caracteres. O objetivo da comunidade é ver quanto tempo podemos manter isso; portanto, tente não fazer edições de caráter obscuras ou injustificadas (no entanto, isso não é um requisito).
Formatação
Formate sua postagem assim:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Onde N é o número da resposta (aumenta incrementalmente, N = 1, 2, 3, ...).
Você não precisa dizer quais caracteres exatos foram alterados. Apenas verifique se a distância de Levenshtein é de 0 a 10.
Se você responder em alguma linguagem ou o código resultante é apenas uma confusão, não por favor explicar o que você fez e por que ela funciona, embora isso não seja necessário.
Regras
O principal a entender sobre esse desafio é que apenas uma pessoa pode responder de cada vez e cada resposta depende da resposta anterior .
Nunca deve haver duas respostas com o mesmo N. Se duas pessoas responderem simultaneamente para algum N, quem responder mais tarde (mesmo que haja uma diferença de alguns segundos) deve excluir graciosamente a resposta.
Além disso...
- Um usuário não pode enviar duas respostas seguidas. (por exemplo, desde que eu enviei a resposta 1, não posso responder 2, mas poderia fazer 3.)
- Tente evitar postar muitas respostas em um curto espaço de tempo.
- Cada resposta deve estar em uma linguagem de programação diferente.
- Você pode usar diferentes versões principais de uma linguagem, como Python 2/3
- Os idiomas contam como distintos se forem tradicionalmente chamados por dois nomes diferentes. (Pode haver algumas ambiguidades aqui, mas não deixe que isso estrague o concurso.)
- Você não precisa seguir o ASCII, pode usar qualquer caractere que desejar. A distância de Levenshtein será medida em caracteres unicode .
- A saída deve ser apenas
2^n
e nenhum outro caractere. (O espaço em branco à esquerda / à direita é bom, assim como a saída não suprimível, como>>>
ouans=
) - Se seu idioma não possui stdout, use o que é comumente usado para gerar rapidamente texto (por exemplo,
console.log
oualert
em JavaScript). - Quando a potência de duas que você precisa produzir fica muito grande, você pode assumir uma memória infinita, mas não um tamanho inteiro infinito. Cuidado com estouros de número inteiro.
- Você pode fazer uso de notação científica ou qualquer que seja a maneira mais natural de representar números em seus idiomas. (Exceto para unário, NÃO produza em unário)
Verifique se a sua resposta é válida. Não queremos perceber que há uma quebra na cadeia com cinco respostas. Respostas inválidas devem ser corrigidas rapidamente ou excluídas antes que haja respostas adicionais.
Não edite respostas, a menos que seja absolutamente necessário.
Pontuação
Quando as coisas se acalmam, o usuário que envia as respostas mais válidas ganha. Os laços vão para o usuário com os votos acumulados mais cumulativos.
Edite-os quando publicar uma resposta:
Entre os melhores
13 idiomas
Okx
8 idiomas
zepelim
4 idiomas
Pavel
Jonathan Allan
Kritixi Lithos
Riker3 idiomas
boboquack
2 idiomas
Marcos Melancia Destrutível de
Conor O'Brien sobre Tom Carpenter1 idioma
Ataco
Blocos
Dennis
dzaima
Erik as Outgolfer
ETHproductions
ghosts_in_the_code
Leo
Lynn
Matheus Avellar
Nathaniel
Qwerp-Derp
R. Kap
Taylor Scott
nimi
Mistah Figgins
PidgeyUsedGust
steenbergh
Idiomas usados até o momento:
- C # (Pavel)
- /// (boboquack)
- Retina (Dennis)
- Geléia (Jonathon Allan)
- Pitão (boboquack)
- > <> (Melancia Destrutível)
- Minkolang (Kritixi Lithos)
- Perl (Pavel)
- Python (Qwerp-Derp)
- dc (R. Kap)
- Carvão (Jonathon Allan)
- BrainFuck com modificação automática (Leo)
- SOGL (dzaima)
- ShapeScript (Jonathon Allan)
- Pyke (boboquack)
- Rubi (Nathaniel)
- 05AB1E (ovs)
- STATA (marcações)
- bc (Kritixi Lithos)
- Japt (Okx)
- 2sable (Kritixi Lithos)
- Queijo Cheddar (Jonathon Allan)
- Postes (Okx)
- Bash (zepelim)
- Pushy (Okx)
- CJam (Erik, o Estrangeiro)
- MATL (Okx)
- MATLAB (Tom Carpenter)
- Oitava (Kritixi Lithos)
- R (ovs)
- JavaScript ES7 (Tom Carpenter)
- Convexo (Okx)
- Mathematica (ghosts_in_the_code)
- Pip (Okx)
- Empilhados (Conor O'Brien)
- GolfScript (Okx)
- Na verdade (Lynn)
- RProgN (Okx)
- Esquema (marcações)
- Elemento (Okx)
- J (Blocos)
- Cubix (ETHproductions)
- zsh (zepelim)
- VBA (Taylor Scott)
- Peixe (zepelim)
- Reticular (Okx)
- Perl 6 (Pavel)
- RProgN2 (ATaco)
- PHP (Matheus Avellar)
- Jolf (Conor O'Brien)
- Haskell (nimi)
- Befunge-98 (Mistah Figgins)
- Gnuplot (zepelim)
- QBIC (steenbergh)
- FOG (Riker)
- Qwerty-RPN (Okx)
- Korn Shell (ksh) (zepelim)
- Julia (Riker)
- Python 3 (Pavel)
- Vimscript (Riker)
- Dash (zeppelin)
- Vitsy (Okx)
- csh (zepelim)
- Ohm (Okx)
- Bosh (zepelim)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Essa pergunta funciona melhor quando você classifica pela mais antiga .
fonte
Respostas:
Resposta 64, Ohm , distância 10
Adicionado
64º,;S)1'a
Apenas o
64º,
código é real, o resto é apenas lixo.Este programa imprimirá a saída correta, mas também solicitará alguns
STDIN
depois de imprimir 2 64 .fonte
Resposta 17: 05AB1E , Distância de 3
Experimente online!
fonte
05AB1E
não gerar erros.Resposta 24: Bash, distância 8
Experimente Online!
fonte
Resposta 51, Haskell, distância 10
Remova 2 NL, substitua
^
no início por-
, acrescente outro-
, exclua*
naprint
, substitua 2*
por^
, substitua49
por51
, insira--
após a impressão.fonte
--
, é uma distância de edição menor do que o anexo--
duas vezes.--
é de 2 bytes, removendo o NL apenas 1Resposta 67, Gol> <> , distância 6
Nós usamos o trampolim
#
para acrescentar o código ao contrário. Ao removerS)1'a
o,;
pode ser reutilizado, sendo necessário adicionar apenas 6 caracteres.Experimente online!
Eu acho que manter a
#
permissão para alguns outros idiomas usá-lo como uma linha comentada.fonte
Resposta 4: Distância da geléia 3
Experimente online!
todas as inserções:
00Ḥ
.0{
e0}
estão lá para suprimir erros de análise (pop da lista vazia devido aos{
e}
sendo quicks que por sua vez mônadas em duplas usando o argumento para a esquerda e direita, respectivamente).Ḥ
"unhalves" 8 para fazer 16.fonte
{
(depoisclass HelloWorld
) não precisa de um0
antes, mas os outros dois precisam ?()
antes da segunda chave aberta na primeira linha. A terceira linha não pode começar com uma chave, pois não há mônada sobre a qual agir.Resposta 5: Pyth
Imprime o literal numérico e
32
, em seguida, o espaço entre2
e"
suprime a impressão do literal da string (preenchido automaticamente).+4 caracteres -
32 "
Experimente no herokuapp
fonte
Resposta 6 -> <>
substituiu um espaço por ", o código empurra 3, 2, 4, depois inverte, empurra 4,2,3, em seguida retira 3 da pilha e multiplica 2, 4, 4, 2, por 64, gera e para
Experimente online
talvez use https://www.fishlanguage.com/playground
fonte
Resposta 3: Retina , distância 3
Anexado
|\n8
(distância 3).Experimente online!
fonte
Resposta 20: Japão, distância 8
Experimente online!
Modificações:
Alterado
2^19
para2**20
no início do programa, para calcular a potência (4)Substituído
#
por$
na primeira linha para que tudo o que foi passado seja interpretado como JS (1)Na última linha, removeu
/
e adicionou a*/
no final do programa, para que o comentário ocupe todo o programa (3)fonte
Resposta 27: MATL, distância 4
Experimente online!
Adicionado
27W%
Explicação:
fonte
Resposta 50: Jolf, distância 10
Experimente aqui!
Anexado
^2@2(
(+5)Removido
±
eß
de#ß6904±r
(+2)Removido
ó
deóout
(+1)Removido
<?
de<?#"#28@P2*
(+2)Total: 10. Remova todos os caracteres não ASCII!
Explicação
(
para de analisar, portanto, o código se parece com:fonte
Resposta 52. Befunge-98 , distância 8 + 2
Graças a @DestructibleWatermelon por jogar um byte!
Experimente Online!
Adicionado
'3k
antes do2
, e'2k*.
entre o2
e@
.--
não faz nada,'3k2
coloca 52 2s na pilha e'2k*.@
multiplica, imprime o número e saiAlém disso, adicionei um
d"
depoisprintf("%
para facilitar a vida de outras pessoas, pois eu tinha 2 caracteres extras. Não afeta o programa Befunge-98.fonte
Resposta 42: Cubix , distância 8
Experimente online!
O
lert(2**31
meio foi alterado para44******O@
.fonte
Resposta 60, Vimscript, distância 10
Alterou o 2
#
no início das duas linhas do meio para"
, adicionou um"
na frente da primeira linha e:py<space>
na frente da última linha.Para esclarecimentos:
"
é um comentário de linha no vimscript (pelo menos no início de uma linha) e não precisa ser correspondido.O Vim pode executar código python, então isso é realmente equivalente a pedir a resposta ao python.
fonte
Resposta 8: Perl
Distância exata de 10: +4
#
para comentários, +1 nova linha depoisSystem.Console.
, +3 para transformarwrite
emprint
+2 para se transformar2
em256
.Eu não iria participar, mas queria ter certeza de que algumas frases regulares fossem adicionadas antes que algo ficasse louco demais.
Experimente online!
fonte
Resposta 49: PHP, distância 6
Adicionado
<?
e?>
para abrir e fechar tags PHP, respectivamente.Substituído
48
por49
.#
inicia um comentário sobre PHP, então nada é considerado, excetoAqui está uma captura de tela da sintaxe apropriada highlihgting e output para ajudar a visualizar:
fonte
Resposta 2: ///
+4 caracteres -
///4
Experimente online!
fonte
Different versions of the same language count as the same language.
listagem "Python" sozinha em "Idiomas usados ..." parece ser boa o suficiente.Resposta 7: Minkolang , Distância: 4
Experimente online!
Eu adicionei
7;N.
ao programa. Basicamente3
,2
e7
são empurrados para a pilha e, em seguida, 2 é aumentado para a sétima potência usando;
. Isso é emitido comoN
umber e, em seguida, o programa para no.
fonte
Resposta 11: Carvão , distância 5
Experimente Online!
As letras gregas maiúsculas
A
eβ
são variáveis às quais são atribuídos os caracteres ASCII a seguir. O valor final é impresso implicitamente.fonte
10
? A minha foi a 10ª resposta.⎚
(claro) é mais curtoResposta 10: dc , Distância de 5
Aqui está um
dc
programa válido que gera1024
.Experimente online!
fonte
Resposta 12: Brainfuck auto-modificador
Experimente online!
O SMBF é igual ao cérebro, exceto que o código fonte está disponível na fita à esquerda da posição inicial. Aqui temos o número para imprimir ao contrário no final do código e fazemos
<.
quatro vezes para imprimir todos os quatro dígitos.Eu adicionei um
<
antes de cada.
no código (havia 3), um extra<.
e modifiquei o número final. A distância deve ser 8.fonte
Resposta 29: Oitava , Distância: 1
Experimente online!
Tudo o que eu tinha que fazer era mudar
28
para29
fonte
Resposta 31: JavaScript ES7, Distância 7
O ES7 suporta o
**
operador para obter energia.Você pode tentar online aqui .
fonte
Resposta 33: Mathematica, distância 9
Explicação
Coloca tudo dentro dos comentários e saídas 2 ^ 33
Verifique se essa resposta é válida antes de colocar a sua, porque sou novo nisso e não quero acabar quebrando a corrente.
fonte
Resposta 37: Na verdade , distância 7
Substituído
36?#
por:37@ⁿ.ó
.Experimente online!
fonte
Resposta 38: RProgN, distância 10
Experimente online!
Substituído
2:37
por2 38 ^ exit
(10) (observe o espaço à direita)Explicação:
fonte
Resposta 47: Perl 6 , distância 10
O Perl 6 é considerado distinto do Perl. Eu tentei configurar C no caminho adicionando
"%
depoisprintf
, espero que alguém use isso.Experimente online!
fonte
Resposta 48: RProgN2 , distância 9
Adicionado um
"
no início, que impedia que tudo quebrasse,[[[
no final limpa a memória e268*^
calcula a nova resposta. Implicitamente impresso.Experimente online!
fonte
Resposta 66, es (casca) +
bc
, distância 8Alterado
exit
paraquit()
e adicionadoiker
após o primeiror
. Não pude resistir e queria adicionar mais 4 personagens.fonte