Se você gosta disso, considere participar de:
Faça 12 trechos / expressões , no mesmo idioma, que resultem nos números de 0 a 10 e 42, respectivamente, mas sem gravar dados numéricos, de seqüência de caracteres ou caracteres literais.
Dados incorporados , como PI()
e ALPHABET()
, são bons, assim como, por exemplo, as constantes U, X, Y, Z e A de CJam, e as combinações BLEND, CHORD, CENTER, BREAK e LINES do Processing.
Todo snippet deve ser capaz de se manter por conta própria, ou seja, eles podem não ser interdependentes. No entanto, dentro de um único trecho, você pode atribuir uma variável e usá-la livremente, desde que se refira diretamente a ela pelo nome, e não por meio de uma string que contenha seu nome.
Todos os trechos devem ser válidos no computador do remetente no momento do envio (conforme relatado pelo SE), mas não podem depender de condições locais incomuns, como número de arquivos em um diretório, data ou hora exata ou entrada específica do usuário .
Exemplos de trechos válidos
3: INT(LOG10(YEAR(TODAY())))
porque permanece verdadeiro no futuro previsível
4: CUBICROOT(LEN(CHARACTERSET()))
porque um conjunto de caracteres de 256 letras é muito comum
8: SQRT(SYSTEMTYPE())
porque sistemas de 64 bits são muito comuns
Exemplos de trechos inválidos
5: LEN(USERNAME())
porque a maioria das pessoas não usa "Admin" como login :-)
9: LOG10(SYSTEMMEMORY())
porque funciona apenas em sistemas com exatamente 1 GB de memória
42: CODE("*")
porque contém um literal de cadeia / caractere
O resultado de cada snippet deve resultar em um número real (valor, int, float etc.) que pode ser usado para cálculos adicionais usando o mesmo idioma do snippet, ou seja, não uma sequência de texto representando esse número.
Somente idiomas baseados em caracteres são permitidos.
A pontuação é a contagem total de bytes de todos os 12 snippets combinados. As novas linhas que separam os trechos não são contadas.
Observe que as regras acima podem impedir a participação de alguns idiomas, mesmo que eles estejam completos no Turing.
Perguntas frequentes
P Os programas podem aceitar qualquer entrada?
R Sim, mas você pode não apenas solicitar entrada e inserir o número relevante.
P Os dígitos físicos (não dados) são permitidos?
A Sim, por exemplo LOG10()
.
P Os símbolos no Ruby contam como literais?
R Sim.
P A pontuação inclui novas linhas entre cada snippet?
A No.
P O TI-BASIC "baseado em caracteres" é suficiente para ser válido?
R Sim.
P Falso e verdadeiro contam como literais numéricos?
R Não, eles são aceitáveis.
P Podemos usar um literal numérico para chamar uma função se essa for a única maneira e o número não influenciar a saída da função?
R Sim, se essa for a maneira normal de escrever código no seu idioma.
P Minha linguagem assume que existe um [algo] no início de cada programa / expressão. Devo incluí-lo ou meus trechos devem funcionar se colocados no meio de um programa / expressão?
R Eles devem apenas trabalhar no meio de um programa / expressão.
P E os literais regex?
A Proibida, com exceção de línguas que apenas fazer expressões regulares.
P É aceitável um pedaço de código que possa imprimir todos os números especificados?
R Não, eles precisam ser separados e independentes entre si.
P Posso assumir um padrão semelhante int main() {}...
ou equivalente?
R Sim.
P Quais tipos de dados de saída são permitidos?
A Qualquer tipo de dados numérico, como int, float, etc.
P Preciso imprimir o resultado de cada snippet?
R Não, disponibilizar o resultado para uso posterior é suficiente.
P São permitidas variáveis predefinidas?
R Sim, e eles são redefinidos (se alterados) para cada trecho.
Q π e e são considerados literais numéricos?
R Não, você pode usá-los.
P Posso retornar 4 e 2 em células diferentes para 42?
R Não, eles devem estar conectados como um número.
P Bytes ou caracteres?
A Bytes, mas você pode escolher qualquer página de código desejada.
P Podem ser usadas funções constantes e variáveis predefinidas como J 9:
, Actually 9
e Pretzel 9
?
R Sim, se o vocabulário for finito (19 para J, 10 para Actually e Pretzel).