Étant donné 3 entiers, déterminez la base la plus basse possible pour que les deux premiers entiers se multiplient dans le troisième. Si vous pensez à la réponse à la question ultime de la vie, l'univers et tout, 6 * 9 == 42, est vrai dans la base 13.
Les entrées peuvent inclure tous les nombres dont les chiffres utilisent les caractères 0-9, az et AZ, où a
est égal à 10 en Base 10 et Z
61 en Base 10.
Les entrées doivent être entrées comme vous le souhaitez (sauf pour le codage en dur), et vous pouvez écrire soit une fonction individuelle, soit un programme entier.
La base maximale qui doit être prise en compte est la base 62 et la base minimale est la base 2.
Vous pouvez supposer que les deux premières valeurs sont inférieures à la troisième. Vous pouvez également conclure que la base minimale est supérieure au chiffre / caractère le plus élevé des entrées (par exemple, si les entrées le sont 3 1a 55
, la base minimale serait Base 11, car il a
s'agit du chiffre le plus élevé).
S'il n'y a pas une telle base, renvoyez une valeur indésirable de votre choix.
C'est le golf de code, donc le code le plus court gagne.
Cas de test
6 9 42 --> 13
a a 64 --> 16
aA bB 36jk --> 41
2 3 20 --> <junk value>
10 10 100 --> 2
b
d'une manière générale comme a_0 b^0 + a_1 b^1 + a_2 b^2 + ...
(où a_0
est le chiffre le moins significatif) que la base 1 a vraiment du sens. De plus, la conclusion du PO inclurait également la base 1 dans la recherche si le plus grand chiffre actuel est 0.