Como resultado do meu desafio no Puzzling , seu objetivo é produzir 2016
.
Regras:
- Você deve incluir os números
10 9 8 7 6 5 4 3 2 1
nessa ordem. Eles podem ser usados como números inteiros individuais ou concatenados juntos (como1098
), mas10
não podem ser separados por1
e0
- nenhum caractere (s) pode estar presente entre os dígitos. Observe que, em alguns idiomas,10
pode não representar o literal inteiro10
, o que é aceitável. - Seu código não deve conter outros números ou variáveis ou constantes de números predefinidos (portanto,
T
em Pyth não é permitido, pois é uma constante numérica). - Você deve calcular
2016
usando numéricos. A saída simples2016
sem executar nenhuma operação nos números necessários (por exemplo, decodificando uma sequência codificada que consiste apenas em caracteres alfabéticos) não é permitida. Saída2016
em pedaços (como20
, então16
) também não é permitida; você deve ter uma única saída consistindo no valor numérico2016
. - A resposta válida com o menor número de bytes vence.
20
e16
e imprimi-los um após o outro ou não a necessidade número calculado para ser 2016 antes de imprimir? 2) As funções são permitidas? 3) A concatenação de dígitos é permitida? por exemplo1098
(estou assumindo que sim por comentários anteriores, mas apenas para confirmar) 4) "Calcular 2016 usando números inteiros" significa que nunca podemos flutuar em lugar algum em uma etapa intermediária? por exemplo, posso calcular o número da raiz quadrada e arredondar para baixo?T987654321
?10
deve ser incluído para que você precise lidar com isso de alguma forma. 6 Desde que10
apareça antesT
.Respostas:
Geléia ,
171514 bytesExperimente online!
Como funciona
fonte
Hexagonia, 61 bytes
Não vou ganhar, mas eu só queria fazer um desafio no Hexagony.
Isso usa um método diferente de outras respostas (muito pior). São necessários alguns fatores de 2016 (2,3,6,7,8) e os multiplicam todos juntos.
Minificado:
Desminificado:
Explicação em breve;
fonte
Pitão, 16 bytes
Faz divisão inteira e adiciona (3-21).
Experimente aqui .
fonte
TI-BASIC,
1715 bytesIsso usa o método do @ nicael.
17 bytes:
Esta solução da Puzzling pode ser traduzida diretamente para o TI-BASIC.
fonte
Japonês,
1716 bytesEu odeio isso 17. Provavelmente vai encontrar outra solução.YAYZ.Explicação:
321q
é uma raiz quadrada de 321.~~
aumenta o número.Experimente online!
fonte
Â
==~~
:-)109876/54-321¬f
é 15 :-D109876/54-321q)f
agora funciona. A outra sugestão não.Matlab / Octave, 23 bytes
Experimente online
fonte
bc, 14
Nada emocionante aqui - empresta outras respostas.
fonte
109876 54/3+21-p
marca 16, mas não garante uma resposta própria.Haskell, 31 bytes
Não é o mais curto,
10+9*8-7+654*3-21
como visto em outras respostas, também funciona em Haskell, mas algo diferente.Isso cria uma lista começando com
10
e9*8*7+6 = 510
, portanto, o deslocamento é500
para os seguintes elementos. A lista inteira é[10,510,1010,1510,2010,2510 ...]
. Nós escolhemos o4th
elemento (baseado no índice 0), ie,2010
e adicionamos3*2*1 = 6
. Voilà.Eu uso
const 6 5 = 6
para me livrar do5
que não é necessário.fonte
Python 2, 20 bytes
Mais uma vez, o mesmo chato
2016.(740)
. Faz uso do fato de que, se você não tiver um número decimal em sua expressão, ele retornará um número inteiro.fonte
> <> (peixe), 18 bytes
explicação:
multiplica 9 8 e 7 juntos para obter 504, inverte a pilha e inverte-a novamente imediatamente antes da adição de 4, depois multiplica 504 e 4 para obter 2016. Em seguida, imprime o número e termina o programa antes dos últimos 3 números (eu poderia fazer depois também sem diferença, se isso importa em termos de regras).
fonte
Matemática ++ , 17 bytes
Na verdade, isso imprime
2016.0
. Mas não há realmente nenhuma maneira de imprimir a string exata2016
nesse idioma.A solução TI-BASIC de 17 bytes também funcionaria aqui.
fonte
Poliglota, 17 bytes
Esse código, usado pela primeira vez na resposta TI-BASIC de Thomas Kwa , também funciona em:
JavaScript (entrada do console, portanto, não é válida)Precisa de segunda verificaçãoPerl 5 (função, portanto, não é válida).Precisa de segunda verificaçãofonte
10+9*8-7+654*3-21
não é uma função JavaScript nem Perl.𝔼𝕊𝕄𝕚𝕟 2, 15 caracteres / 17 bytes
Try it here (Firefox only).
Traduz para
round(109876/54+3-21)
.Obrigado a @Dennis por salvar 2 bytes!
fonte
Java 7, 31 bytes
Porta chata de outras respostas, das quais acredito que a resposta de @Dennis 'Jelly foi a primeira.
fonte
PHP, 27 bytes
(22 bytes) era muito chato,
então eu usei 10 a 9 como números separados:
outras soluções, principalmente com pequenos truques:
fonte
Via Láctea 1.6.5 ,
2825 bytesExplicação
fonte
BotEngine ,
42393613x2 = 26fonte
05AB1E , 15 bytes
Experimente online!
Resposta do porto de Dennis.
fonte
Quarto, 22 bytes
O mesmo cálculo visto em outras respostas.
Experimente online
fonte
C 37 bytes
Mesmo tema que muitos presentes.
fonte
VBA, 15 bytes
(cálculo descaradamente roubado de Dennis )
fonte
JavaScript (ES6), 21 bytes
Se a "contagem regressiva" for 0, isso poderá ser feito em 19 bytes.
E, como agora é 2017, isso também pode ser feito em 21 bytes:
fonte