Entrada:
uma lista / matriz de números inteiros para os quais cada item está no intervalo de 2-36
.
Saída:
a soma dos números inteiros (como base 10), onde cada próximo número inteiro está na base do valor anterior (começando com uma base regular 10).
Exemplo:
Digamos que temos uma entrada como esta: [4, 12, 34, 20, 14, 6, 25, 13, 33]
Então temos uma soma como esta:
4 (4 in base-10) +
6 (12 in base-4 ) +
40 (34 in base-12) +
68 (20 in base-34) +
24 (14 in base-20) +
6 (6 in base-14) +
17 (25 in base-6 ) +
28 (13 in base-26) +
42 (33 in base-13)
= 235
Base matemática explicada:
considerei assumir que todos sabem como a base funciona, mas darei um breve exemplo de como funciona, de qualquer maneira, por precaução. Vamos pegar o34 in base-12
exemplo, como chegamos40
?
1-34 in regular base-10:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34
So, from 1 to 34 is 34 steps in base-10
1-34 in base-12:
1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A, 2B, 30, 31, 32, 33, 34
So, from 1 to 34 is 40 steps in base-12
Aqui está talvez uma calculadora útil.
Regras do desafio:
- O tamanho da matriz estará em um intervalo razoável (
1-100
veja / veja os casos de teste). - Os casos de teste nunca conterão números inteiros cujo valor atual é inválido para sua base anterior (ou seja, você nunca terá algo parecido
19 in base-6
ou6 in base-6
, porque a base-6 contém apenas os dígitos0-5
). - Você pode pegar a entrada da maneira que desejar. Pode ser como um array interno, como uma sequência separada por vírgula / espaço, etc. Sua chamada. (Você também pode reverter a matriz int, o que pode ser útil para linguagens de programação baseadas em pilha.)
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam de golfe. Tente encontrar a resposta mais curta possível para qualquer linguagem de programação. - As regras padrão se aplicam à sua resposta, para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados, programas completos. Sua chamada.
- As brechas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código.
- Além disso, adicione uma explicação, se necessário.
Casos de teste:
[4, 12, 34, 20, 14, 6, 25, 13, 33] -> 235
4+ 6+ 40+ 68+ 24+ 6+ 17+ 28+ 42
[5, 14, 2, 11, 30, 18] -> 90
5+ 9+ 2+ 3+ 33+ 38
[12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 12, 2, 11, 3, 10, 2, 10] -> 98
12+ 13+ 11+ 9+ 8+ 7+ 6+ 5+ 4+ 3+ 5+ 2+ 3+ 3+ 3+ 2+ 2
[36, 36] -> 150
36+ 114