Dados três números inteiros, determine a base mais baixa possível para os dois primeiros inteiros se multiplicarem no terceiro. Se você pensa na resposta à questão final da vida, do universo e de tudo, 6 * 9 == 42, é verdadeira na Base 13.
As entradas podem incluir qualquer número cujos dígitos usem os caracteres 0-9, az e AZ, onde a
é igual a 10 na Base 10 e Z
é 61 na Base 10.
As entradas devem ser inseridas da maneira que desejar (exceto para codificação), e você pode escrever uma função individual ou um programa inteiro.
A base máxima que deve ser considerada é a Base 62 e a base mínima é a Base 2.
Você pode assumir que os dois primeiros valores são menores que o terceiro. Você também pode concluir que a base mínima é uma maior que o dígito / caractere mais alto das entradas (por exemplo, se as entradas forem 3 1a 55
, a base mínima seria a Base 11, porque a
é o dígito mais alto).
Se não houver essa base, retorne um valor de lixo eletrônico de sua escolha.
Isso é código de golfe, então o código mais curto vence.
Casos de teste
6 9 42 --> 13
a a 64 --> 16
aA bB 36jk --> 41
2 3 20 --> <junk value>
10 10 100 --> 2
b
de uma maneira geral, como a_0 b^0 + a_1 b^1 + a_2 b^2 + ...
(onde a_0
é o dígito menos significativo) do que a base 1, definitivamente faz sentido. Além disso, a conclusão do OP também incluiria a base 1 na pesquisa, se o maior dígito atual for 0. #