Este é o post do ladrão. O posto policial está aqui .
Sua tarefa é pegar uma entrada inteira N e gerar o enésimo dígito na sequência OEIS A002942 .
A sequência consiste nos números quadrados escritos ao contrário:
1, 4, 9, 61, 52, 63, 94, 46, 18, 1, 121, 441, ...
Observe que os zeros à esquerda são cortados ( 100 se torna 1 , não 001 ). Concatenar isso em uma string (ou um número longo fornece):
1496152639446181121441
Você deve emitir o enésimo dígito nesta sequência / número. Você pode escolher N como indexado com 0 ou 1 (indique qual deles você escolhe).
Casos de teste (indexados 1):
N = 5, ==> 1
N = 17, ==> 1 <- Important test case! It's not zero.
N = 20, ==> 4
N = 78, ==> 0
N = 100, ==> 4
N = 274164, ==> 1
Seu código deve funcionar para números de até N = 2 ^ 15 (a menos que seu idioma não possa manipular números inteiros de 32 bits por padrão, nesse caso, N pode ser menor).
Ladrões:
Você deve tentar quebrar as postagens dos policiais.
Seu código deve estar no mesmo idioma que o posto do policial e ter uma distância de Levenshtein exatamente igual à distância fornecida pelo policial. Seu código não pode ser maior que a solução original (mas pode ter o mesmo tamanho).
Você pode verificar a distância de Levenshtein aqui!
O vencedor será o ladrão que mais invadiu as postagens.
fonte
Respostas:
Haskell , Laikoni
Experimente online!
O
(*1)
necessário para a verificação do tipo.fonte
JavaScript, Arnauld
fonte
Array(m+1)
lo.cQuents 0 , Stephen
Experimente online! Não tenho idéia de como esse código funciona, mas ainda funcionou após a remoção do
*
.fonte
Wolfram Language (Mathematica) , Jenny_mathy
Experimente online!
Versão alternativa também à distância 43:
Experimente online!
fonte
Código 6502 da máquina (C64), Felix Palmen
Eu testei isso com todos os casos de teste de perguntas e alguns extras (como 2 ^ 15 ... que levaram algum tempo), e parece funcionar da mesma forma que o original com LD = 1.
Demonstração online , uso: sys49152, n em que n é a entrada indexada em 0.
fonte
Lua , Katenkyo
Experimente online!
Não conheço Lua, mas era simples, substituí um espaço por uma nova linha.
fonte
(0+)(%d+)$
por(0+)(%d+)
, então era sobre regex ^^ '#Python 3 , HyperNeutrino
Experimente online!
fonte
''
vez de""
lambda i:"".join(str( (-~k)**2)[::-1]for k in range(i+1))[i]
.Python 2 , dylnan
Experimente online!
Nota: este envio de policial foi corrigido e não funcionou para entradas inferiores a 5. Enquanto eu estava lá, construí esta solução que tem a distância correta de Levenshtein E corrige o erro.
fonte
Perl 5, (-p) Xcali
Atualizado após o comentário, Levenshtein Distância entre
e
é 55
Experimente online
fonte
-a
versus-p
. As duas soluções que eu criei usavam as mesmas bandeiras. Eu acho que a bandeira seria colocada na frente sem espaço, mas estou disposto a ser influenciado por outras pessoas.Kevin 8, Kevin Cruijssen
Experimente online!
Log de alterações
.replaceAll()
pornew Long()
.fonte
n->{String r="";for(int i=1;r.length()<=n+1;r+=new Long(new StringBuffer(i*i+++"").reverse()+""));return r.charAt(n);}
( 118 bytes, 92 LD em comparação com a minha outra resposta).Octave , Stewie Griffin
Experimente online!
Na verdade, eu estava tentando minha própria resposta do Oitava e descobri a existente. A mina já era significativamente mais curta, portanto, adicionar um comentário no final foi suficiente para chegar à distância necessária de 63.
fonte
input()
e tudo o que se passa com ele ...PHP, Jo.
Experimente online!
(Eu estava planejando mudar a desigualdade para obter LD ainda maior ...)
fonte
Código 6502 da máquina (C64), Felix Palmen
Também pode ser um crack "simples", mas parece funcionar como o original.
Ter o LD = 1 é tão tentador tentar decifrá-lo (desculpe, Felix). :)
Demonstração online , uso: sys49152, n em que n é a entrada indexada em 0.
fonte
E9
(um comando subtrair) peloEB
qual é indefinido no código da máquina 6502, mas acontece o mesmo nos chips NMOS 6502 e 6510. Este programa poderia, por exemplo, travar no C64 DTV1. Mas é improvável encontrar um C64 real que não o execute corretamente, portanto, pode ser considerado um crack válido? Eu poderia pedir opiniões sobre meta ....