Bestimmen Sie bei 3 gegebenen Ganzzahlen die niedrigstmögliche Basis für die ersten beiden Ganzzahlen, um sie mit der dritten zu multiplizieren. Wenn Sie an die Antwort auf die ultimative Frage des Lebens denken, ist das Universum und alles, 6 * 9 == 42, in der Basis 13 wahr.
Die Eingaben können beliebige Zahlen enthalten, deren Ziffern die Zeichen 0-9, az und AZ enthalten a
in Basis 10 10 und Z
in Basis 10 61 gleich sind.
Die Eingaben sollten nach Belieben eingegeben werden (mit Ausnahme der Hardcodierung), und Sie können entweder eine einzelne Funktion oder ein gesamtes Programm schreiben.
Die maximale Basis, die berücksichtigt werden muss, ist Basis 62 und die minimale Basis ist Basis 2.
Sie können davon ausgehen, dass die ersten beiden Werte kleiner als der dritte sind. Sie können auch den Schluss ziehen, dass die minimale Basis eine Stelle größer ist als die höchste Ziffer / das höchste Zeichen der Eingaben (wenn die Eingaben beispielsweise sind 3 1a 55
, wäre die minimale Basis die Basis 11, weila
es sich um die höchste Ziffer handelt).
Wenn es keine solche Basis gibt, geben Sie einen Junk-Wert Ihrer Wahl zurück.
Dies ist Codegolf, also gewinnt der kürzeste Code.
Testfälle
6 9 42 --> 13
a a 64 --> 16
aA bB 36jk --> 41
2 3 20 --> <junk value>
10 10 100 --> 2
b
auf eine allgemeine Art und Weise wie a_0 b^0 + a_1 b^1 + a_2 b^2 + ...
(wo a_0
ist die niedrigstwertige Ziffer) definiere, ist Basis 1 definitiv sinnvoll. Darüber hinaus würde die Schlussfolgerung des OP auch die Basis 1 in die Suche einbeziehen, wenn die größte derzeitige Ziffer 0 ist.