El teorema del resto chino puede ser bastante útil en aritmética modular.
Por ejemplo, considere el siguiente conjunto de relaciones de congruencia:
Para conjuntos de relaciones de congruencia como esta, donde todas las bases ( 3, 5, 7
en este ejemplo) son primas entre sí, habrá un y solo un número entero n
entre 1
y el producto de las bases ( 3*5*7 = 105
en este ejemplo) inclusivo que satisfaga las relaciones .
En este ejemplo, el número sería 14
generado por esta fórmula:
donde 2, 4, and 0
se dan del ejemplo anterior.
70, 21, 15
son los coeficientes de la fórmula y que dependen de las bases, 3, 5, 7
.
Para calcular los coeficientes de la fórmula ( 70, 21, 15
en nuestro ejemplo) para un conjunto de bases, utilizamos el siguiente procedimiento.
Para cada número a
en un conjunto de bases:
- Encuentre el producto de todas las otras bases, denotado como
P
. - Encuentra el primer múltiplo de
P
eso deja un resto de1
cuando se divide pora
. Este es el coeficiente dea
.
Por ejemplo, para calcular el coeficiente que corresponde a la base 3
, encontramos el producto de todas las demás bases (es decir 5*7 = 35
) y luego encontramos el primer múltiplo de ese producto que deja un resto 1
cuando se divide por la base.
En este caso, 35
deja un resto de 2
cuando se divide por 3
, pero 35*2 = 70
deja un resto de 1
cuando se divide por 3
, así 70
es el coeficiente correspondiente para 3
. Del mismo modo, 3*7 = 21
deja un resto de 1
cuando se divide por 5
y 3*5 = 15
deja un resto de 1
cuando se divide por 7
.
En una palabra
Para cada número a
en un conjunto de números:
- Encuentre el producto de todos los otros números, denotados como
P
. - Encuentra el primer múltiplo de
P
eso deja un resto de1
cuando se divide pora
. Este es el coeficiente dea
.
El reto
- El desafío es, para un conjunto de dos o más bases, encontrar el conjunto de coeficientes correspondientes.
- Se garantiza que el conjunto de bases será co-prime por pares y se garantiza que cada base sea mayor que 1.
- Su entrada es una lista de enteros como entrada
[3,4,5]
o cadena separada por espacios"3 4 5"
o, sin embargo, sus entradas funcionan. - Su salida debe ser una lista de enteros o una cadena separada por espacios que denota el conjunto de coeficientes.
Casos de prueba
input output
[3,5,7] [70,21,15]
[2,3,5] [15,10,6]
[3,4,5] [40,45,36]
[3,4] [4,9]
[2,3,5,7] [105,70,126,120]
[40,27,11] [9801,7480,6480]
[100,27,31] [61101,49600,56700]
[16,27,25,49,11] [363825,2371600,2794176,5583600,529200]
Muchas gracias a Leaky Nun por su ayuda al escribir este desafío. Como siempre, si el problema no está claro, hágamelo saber. ¡Buena suerte y buen golf!