El reto
Dado 3 números X
, Y
y Z
en base B
, encuentra un B
ase en el que la suma de X
y Y
rinde Z
. Las entradas x = 20
, Y = 12
y Z = 32
podrían ceder 5
porque 20 + 12 = 32
en la base 5.
- Puede suponer que siempre habrá una base en la que la adición sea correcta (hay casos en los que no existe una base, gracias a @ MasonWheeler y @ Not that Charles por algunos ejemplos de eso).
- La base más baja posible es 1. Puede usar 1s o 0s como dígitos en unario, pero no puede mezclarlos.
I / O
- Los dígitos de los números de entrada serán enteros no negativos.
- Puede suponer que los números de entrada contienen ceros iniciales, por lo que tienen una longitud específica (o la misma).
- Puede tomar los números en el formato más conveniente, siempre que no esté preprocesado. Esto incluye el formato general de los tres números de entrada y el formato de los dígitos de cada uno de esos números. Deje en claro qué formato utiliza.
- Si hay varias bases posibles, puede generar todas o solo una de ellas.
- Puede suponer que la base y los números de entrada estarán dentro de los límites numéricos de su idioma.
Reglas
- Función o programa completo permitido.
- Reglas predeterminadas para entrada / salida.
- Se aplican lagunas estándar .
- Este es el código de golf , por lo que gana el conteo de bytes más bajo. Tiebreaker es una presentación anterior.
Casos de prueba
El formato de entrada aquí es una lista de enteros para representar cada número. Las tres listas están separadas por comas.
Tenga en cuenta que a veces hay varias bases posibles. Aquí solo se emite una solución (aleatoria).
[12, 103], [4, 101], [16, 204] -> 349 [4, 21, 25], [5, 1, 20], [9, 23, 17] -> 28 [16, 11], [25, 94], [41, 105] -> 147 [2, 140], [21, 183], [24, 100] -> 223 [8, 157], [1, 28], [9, 185] -> 227 [2, 158], [88], [3, 12] -> 234 [8, 199], [1, 34], [9, 233] -> 408 [3, 247], [7, 438], [11, 221] -> 464 [3, 122], [3, 2], [6, 124] -> 480 [6, 328], [3, 31], [9, 359] -> 465 [2, 1, 0, 0, 0, 0], [1, 2, 0, 0, 1, 0, 1, 0], [1, 2, 2, 1, 1, 0, 1, 0] - > 3 [16, 105], [16, 120], [33, 84] -> 141 [15, 60], [9, 30], [24, 90] -> 268 [2, 0], [1, 2], [3, 2] -> 5 [1, 3, 3, 7], [1, 2, 3], [1, 4, 6, 0] -> 10 [0], [1, 12, 8], [1, 12, 8] -> 16 [1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1], [1, 0, 0, 1, 0, 1, 1, 1, 0, 0 , 1], [1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0] -> 2 [1], [1], [1,1] -> 1
Puede generar casos de prueba adicionales con este programa Pyth . Ingrese una base en la primera línea y los valores decimales para X
y Y
en las siguientes dos líneas.
También puede usar este programa Pyth para crear múltiples casos de prueba a la vez utilizando valores aleatorios. Simplemente ingrese la cantidad deseada de casos de prueba en la entrada.
¡Feliz codificación!