Se você acha que isso pode ser divertido, mas dá muito trabalho, considere participar desse desafio muito menor.
Um pouco de diversão (e possivelmente frustração!) Para 2016 ... o "quebra-cabeça do ano" de Dyalog . Apreciar!
O objetivo
Encontre expressões Dyalog APL ( download ) (outros idiomas são permitidos, consulte Elegibilidade abaixo) envolvendo exatamente os dígitos 2 0 1 6 nessa ordem para igualar os números de 0 a 100. Por exemplo:
20=16
×2016
2⌊016
2+0+1*6
...
O objetivo é usar o mínimo de caracteres possível em cada expressão (o número mínimo de caracteres para uma expressão é 5 - os quatro dígitos 2 0 1 6 e uma única função / operador primitivo).
As regras
- Cada expressão deve conter os dígitos 2 0 1 6 (nessa ordem) e nenhum outro dígito. Constantes e variáveis predefinidas também não são permitidas.
- Além dos quatro dígitos 2 0 1 6, apenas símbolos e nomes embutidos, parênteses / chaves, espaços, sinais de menos altos e pontos decimais podem ser usados. As expressões resultantes devem ser determinísticas (ou seja, fornecer o mesmo resultado em avaliações repetidas). Para não APLs, funções / operadores com um nome também são permitidos; mesmas regras que aqui .
- Suponha todas as configurações padrão para o seu idioma. Para o Dyalog APL, isso significa
⎕ML
e⎕IO
são ambos 1 e⎕PP
é 10. - Cada entrada que compreende expressões corretas para todos os números de 0 a 100 inclusive será classificada de acordo com o número de caracteres usados por essas expressões, excluindo espaços redundantes (mínimo 505 para todas as 101 expressões).
Elegibilidade
Qualquer um pode entrar. Você pode responder em qualquer idioma, mas apenas as respostas da APL serão consideradas para aceitação. Se você usar outro idioma que não o APL, poderá usar trechos, programas, funções etc. como alternativas às expressões e poderá imprimir, deixar o número em um local de memória acessível ou retornar o resultado, desde que seu código seja diretamente avalia o número desejado como qualquer tipo de dado numérico padrão para o seu idioma.
Data de encerramento
30 de novembro de 2016.
Prémios
- Aceite sua resposta
- Seja imortalizado no Hall of Fame de Dyalog 2016!
Como enviar sua inscrição
Após 30 de novembro de 2016, aceitarei a resposta mais curta e enviá -la-ei em seu nome ao Hall da Fama de Dyalog 2016.
Perguntas frequentes
- É permitido
J
(por exemplo, 37 =⌈⍟!20J16
)? - Não: além dos quatro dígitos 2 0 1 6, somente símbolos e nomes internos, parênteses / colchetes, espaços, sinais de menos e pontos decimais podem ser usados.
- A saída como uma string é aceitável?
- Não: igual aos números de 0 a 100.
- Dígitos físicos ou dígitos de dados?
- Dígitos de dados, conforme OP: mesmas regras que aqui , onde um dos exemplos contém
LOG10(
. - É
a+16+a←20
permitido atribuir variáveis e usá-las como parte da expressão (por exemplo, 56 = ) permitido? - Sim, mas você não pode usar uma atribuição de uma expressão em outra.
Eu tenho permissão explícita por escrito para postar esse desafio aqui, do autor original desse desafio. Sinta-se livre para verificar, seguindo o link fornecido e entrando em contato com o autor. Dei ao autor original do concurso o link para esta página no minuto em que o publiquei, para que eles possam verificar se eu envio a resposta de alguém como minha.
⎕ML
e ⎕IO
(supostamente 1
)?