Sua tarefa é gerar o enésimo termo da sequência do RATS, em que n é a entrada. A sequência do RATS também é conhecida como sequência reversa de adição e classificação. Essa sequência também pode ser encontrada aqui: http://oeis.org/A004000 .
casos de teste:
0 > 1
1 > 2
2 > 4
3 > 8
4 > 16
5 > 77
6 > 145
7 > 668
Por exemplo, a saída para 5 é 77 porque 16 + 61 = 77. Depois disso, o 77 é classificado.
O menor envio vence. Este é o meu primeiro desafio, por isso espero que não seja uma duplicata ou algo assim.
code-golf
sequence
arithmetic
justaprogrammer
fonte
fonte
Respostas:
MATL , 11
12bytesEntrada é uma string (com aspas simples) representando um número inteiro em unário . A entrada de string é permitida pelo desafio e unary é um formato válido .
Experimente online!
Explicação
fonte
05AB1E , 6 bytes
Código:
Explicação:
Isso também funciona com um programa de 0 byte .
fonte
05AB1E
, eliminando primeiro o zero inicial e depois omitindo o1
, como1E==E
. Então você obtém apenas5ABE
-2 bytes.CJam, 15 bytes
Teste aqui.
Explicação
fonte
Pitão,
171312 bytesExperimente no intérprete online .
fonte
Python 2, 72
Função recursiva, utiliza a abreviação de Python 2 para
__repr__
, que será interrompida quando a função atingir valores muito grandes (umL
será anexado à sequência do número). Não sei ao certo se há um lugar onde possamos parar. , mas se não mudar parastr()
adicionar apenas 6 bytes, torna-se um pouco mais curto para gerar uma string, a 75 bytes:1 byte economizado graças ao trichoplax nesta versão
fonte
or
no segundo bloco de código?JavaScript ES6, 70 bytes
Guardado 1 byte graças a @ user81655
suspiro JavaScript é realmente detalhado. Um monte (> 50%) do código é apenas caso a função string + variedade + juntar + elenco para int. Eu tentei reduzir, avaliar e todo tipo de coisa, mas isso parece ser o mais curto.
Experimente online (todos os navegadores funcionam)
fonte
f=n=>n?[...+[...b=f(n-1)].reverse().join``+b+''].sort().join``:'1'
se string retornando permitidoBraquilog , 19 bytes
Explicação
fonte
Haskell, 67 bytes
Exemplo de uso:
(g"1"!!) 7
->"668"
.É uma implementação direta da definição: começando com
"1"
, acrescente repetidamente o resultado de inversão-adição-classificação do elemento atual. A função principal(g"1"!!)
seleciona oi
elemento th.fonte
Julia, 77 bytes
Esta é uma função lambda que aceita um número inteiro e retorna um número inteiro. Para chamá-lo, atribua-o a uma variável.
Ungolfed:
fonte
Geléia,
1312 bytesTenho certeza de que isso provavelmente pode ser praticado, pois esta é minha primeira resposta em Jelly / em um idioma tácito.
EDIT: Salvo 1 byte, graças a Dennis
fonte
Java 1.8, 251 bytes
Expandido
fonte
interface
R em vez declass
R, que é 4 bytes mais curto?Sério, 17 bytes
Experimente online!
Explicação:
fonte
Lua,
179156 BytesNão vejo como poderia jogar mais, mas tenho certeza de que há uma maneira.Graças ao @LeakyNun, dediquei um tempo para analisar e jogar da maneira correta, talvez ainda conseguisse ganhar alguns bytes usando outra abordagem.Ungolfed e explicações
fonte
a=a<1 and 1or
por exemplo).Braquilog 2, 11 bytes, desafio de pós-datas de idiomas
Experimente online!
Explicação
Não sei ao certo o que isso faz com zero dígitos, mas a pergunta não indica nenhum tratamento específico e, provavelmente, eles não aparecem na sequência.
fonte
ES6, 79 bytes
82 bytes sem
eval
:Todas essas conversões são dolorosas.
@ edc65 Na verdade, salvei 4 bytes ao
map
passar parareduce
este momento ... sem dúvida, você me mostrará errado novamente.fonte
for
é mais curto:n=>eval("for(r=1;n--)r=+[...+[...r+''].reverse().join``+r+''].sort().join``")
n=0
, mesmo depois de corrigir os erros de sintaxe.Python 2, 91 bytes
Entrada como Inteiro, o resultado é impresso na tela.
Acho que isso pode ser muito mais curto, com alguma magia de recursão, mas ainda não consigo entender. Vou dar uma nova olhada mais tarde e espero melhorar essa.
fonte
Python 2, 83 bytes
fonte
Perl 6 , 40 bytes
(Se você quiser retornar um Int, coloque um
+
direito antes[~]
)Uso:
fonte
Mathematica 10.3,
6661 bytesBem simples.
fonte
PHP, 102 bytes
Versão Online
PHP, 95 bytes
n <= 39
fonte
Java ,
171167163160 bytesExperimente online!
Não é a entrada mais longa! \ o /
fonte
Python 2 , 70 bytes
Experimente online!
fonte
Axioma, 146 bytes
teste e resultados [sequência RATS]
fonte
Tcl , 91 bytes
Experimente online!
fonte