Para uma lista específica de número encontre o último dígito de Exemplo:x x x … x n 3 2 1
[3, 4, 2] == 1
[4, 3, 2] == 4
[4, 3, 1] == 4
[5, 3, 2] == 5
Porque .
Porque .
Porque .
Porque .
Regras:
Isso é código de golfe, então a resposta com o menor número de bytes vence.
Se o seu idioma tiver limites para o tamanho inteiro (ex. ) n será pequeno o suficiente para que a soma caiba no número inteiro.
A entrada pode ser de qualquer forma razoável (stdin, arquivo, parâmetro de linha de comando, número inteiro, string, etc.).
A saída pode ser de qualquer forma razoável (stdout, arquivo, elemento gráfico do usuário que exibe o número, etc.).
Vi em guerras de código.
number
s. Você quer dizer números inteiros positivos exclusivamente? É assim que sinto como foi interpretado.[999999,213412499,34532599,4125159,53539,54256439,353259,4314319,5325329,1242149,142219,1243219,14149,1242149,124419,999999999]
é válida e o resultado deve ser Em1
caso afirmativo, isso precisa ser esclarecido na pergunta, pois você tem respostas positivas que não resolvem isso (dica - mova omod
interior do loop). Talvez adicione alguns exemplos que deixem isso claro.9
. O esquema de redução de dígitos necessário para implementar isso é muito mais interessante do que as respostas reais que esse problema obteve.Respostas:
JavaScript (ES7), 22 bytes
Limitado a .253- 1
Experimente online!
fonte
**
é o operador de exponenciação do JavaScript. O resto é bem direto.a.join`**`
é equivalentea.join(['**'])
e['**']
é coagido'**'
pelojoin
método.n % 10
, retornará o último dígito den
R , 25 bytes
Experimente online!
fonte
Reduce
sendo usado.Haskell, 19 bytes
Experimente online!
fonte
HP 49G RPL, 36,5 bytes
Execute-o no modo APPROX (mas insira o programa no modo EXATO). Recebe entrada na pilha com o primeiro elemento mais profundo da pilha, como números inteiros ou reais.
Ele exponencia diretamente a pilha como na solução de Sophia até que exista um valor restante e, em seguida, é necessário o mod 10 para obter o último dígito.
A razão pela qual eu uso o APPROX para computação é porque 0,0 ^ 0,0 = 1 (quando ambos são reais), mas 0 ^ 0 =? (quando ambos são inteiros). APPROX coage todos os números inteiros em reais, portanto a entrada é adequada para qualquer um. No entanto, eu uso EXACT para entrar no programa porque 10 (inteiro) é armazenado dígito por dígito e tem 6,5 bytes, mas 10,0 (real) é armazenado como um número real completo e tem 10,5 bytes. Também evito usar a redução de RPL (chamada STREAM) porque ela introduz um objeto de programa extra, que tem 10 bytes de sobrecarga. Eu já tenho um e não quero outro.
Limitado à precisão de um HP 49G real (12 dígitos decimais)
-10 bytes após a lista vazia -> 1 requisito foi removido.
-2 bytes, tendo entrada na pilha.
fonte
dc ,
1715 bytesExperimente online!
Pega a entrada da pilha, sai para a pilha. Implementação simples - exponencia até que apenas um valor seja deixado na pilha e mod para o último dígito.
Obrigado ao brhfl por salvar dois bytes!
fonte
10%
aA%
, e mais um byte por não verificar profundidade da pilha duas vezes - basta colocar um1
no topo da pilha antes de executar desde n ^ 1 == n:1[^z1<M]dsMxA%
A
como literal enquanto definido como entrada decimal. Obrigado @brhfl!J , 5 bytes
-3 bytes graças a cole!
Experimente online!
fonte
10|^/
funciona?05AB1E , 4 bytes
Experimente online!
Explicação
fonte
E
no cabeçalho)..V
..«mθ
parece mais um snippet, pois, por si só, não é possível atribuí-lo a uma variável para reutilização posterior. Bem, Adnan agora resolveu o problema, mas eh.Pure Bash (somente interno - sem utilitários externos), 21
A entrada é fornecida na linha de comando como uma lista separada por vírgula.
Os números inteiros do Bash estão sujeitos a limites inteiros assinados normais para as versões de 64 e 32 bits.
Experimente online!
fonte
^
é um XOR bit a bit, e é por isso que você está5
saindo do caso de teste em vez do correto1
. Você precisará adicionar um byte para mudar para**
^
ocorreu - eu tinha**
nas iterações anteriores do meu ciclo de desenvolvimento.Wolfram Language (Mathematica) , 16 bytes
Experimente online!
fonte
Python 2 e Python 3 , 30 bytes
Experimente online!
N
Espera-se que a entrada seja um objeto iterável sobre representações de seqüência de caracteres de números literais .fonte
Ruby,
4147 bytesAumento do tamanho devido à manipulação de qualquer 0 na matriz de entrada, o que precisa de consideração extra. Graças a
rewritten
Isso é resolvido como eu acredito que a fonte original pretendia, ou seja, para exponenciações muito grandes que não se encaixam em números inteiros nativos da linguagem - a restrição é que a matriz será agregada
2**32-1
, não que os cálculos provisórios também sejam garantidos. De fato, isso parece ser o ponto do desafio em Code Wars. Embora os números inteiros nativos do Ruby possam ficar muito grandes, eles não podem lidar com o exemplo abaixo processado ingenuamente com um% 10 no finalPor exemplo
Entrada:
[999999,213412499,34532597,4125159,53539,54256439,353259,4314319,5325329,1242149,142219,1243219,14149,1242149,124419,999999999]
Resultado:
9
fonte
n**(t%4+4)
porn**((t-1)%4+1)
para obter emn**1
vez den**5
etc. Parabéns pela observação de que em qualquer estágio 4 seria um bom ciclo.n<2?n:
antesn**
.05AB1E , 8 bytes
Experimente online!
fonte
...gGm}10%
(ou algo mais golfista).Perl 6 , 14 bytes
Experimente online!
Utiliza os meta-colchetes de redução com o operador **, módulo 10.
fonte
APL (Dyalog Unicode) , 5 bytes
Experimente online!
fonte
C # (.NET Core) , 84 bytes
Experimente online!
fonte
a
e combinando a condição do loop com o decremento (for(var i=a.Lengt-1;i-->0;)
). Porém, ausing
declaração deve ser incluída na contagem de bytes.C (gcc) , 56
A função recursiva
r()
chamada def
limites de pilha macro -normais se aplica.Entrada fornecida como uma matriz int terminada em zero. Isso está no pressuposto de que nenhum dos x n é zero.
Experimente online!
fonte
) r(
->)r(
.r(int*n){return pow
paraR;r(int*n){R=pow
.Julia 0.6 , 30 bytes
Experimente online!
Esta é uma função anon
∘ é o operador de composição.
É vários bytes
fonte
Japonês
-h
, 7 bytesExperimente online!
Explicação:
fonte
Japonês
-h
,76 bytesSe a entrada puder ser obtida na ordem inversa, o primeiro caractere poderá ser removido.
Limitado a
2**53-1
.Tente
Explicação
fonte
Gelatina , 6 bytes
Experimente online!
fonte
Python 2 ,
4543 bytesExperimente online!
fonte
Excel VBA, 60 bytes
Uma função de janela imediata anônima do VBE que recebe entrada do intervalo
[A1:XFD1]
fonte
Stax , 7 bytes
Execute e depure
Algoritmo como na minha resposta Python
fonte
CJam , 14 bytes
Deve funcionar para qualquer entrada, pois o CJam não está limitado a números inteiros de 64 bits.
Experimente online!
fonte
Python 3 , 55 bytes
versões mais antigas
fonte
p=lambda...
? O Python não pode lidar com lambdas anônimas recursivas; portanto, se você precisar que sua função seja nomeada, ela precisará fazer parte da sua solução, e a nomeação será considerada na contagem de bytes para desafios de código-golfe.Python 3 , 47 bytes
Experimente online!
fonte
Flak cerebral , 161 bytes
Inclui +1 para
-r
Experimente online!
O exemplo
[3, 4, 2]
leva mais de 60 segundos, portanto, o link TIO é usado[4, 3, 2]
.A
-r
pode ser removido se a entrada pode ser feita na ordem inversa para uma contagem de bytes de 160.fonte
Pari / GP , 32 bytes
Experimente online!
fonte
Z80Golf , 36 bytes
Experimente online!
Arnês de teste de força bruta
Recebe entrada como bytes brutos. Limitado a 2 ** 8-1.
Explicação
fonte
Ruby ,
2420 bytesExperimente online!
fonte