Dada una lista de expresiones matemáticas que son verdaderas y consisten en cálculos de módulo restante con dos números y un resultado, su tarea es producir los primeros nnúmeros que son verdaderos para todas las declaraciones en la lista.
Por ejemplo:
[m % 3 = 0, m % 4 = 1, m % 5 = 3], donde% es el operador del módulo.
Para n= 3, los primeros 3 números (contando desde 0) que se ajustan a la secuencia son 33, 93, 153, por lo tanto, su resultado sería ese (formatee hasta usted).
Reglas / IO
- Tomas un número positivo
ny una lista de verdades. Por supuesto, las cosas que necesita tomar son solo el RHS de la operación del módulo y el resultado. ny los números en la lista de verdades siempre estarán en el rango 1 -> 2 ^ 31-1 , y también lo son los resultados.- Usted toma la entrada en cualquier forma conveniente y la salida en cualquier forma conveniente. Por ejemplo, la entrada:
3 [3 0, 4 1, 5 3]y salida:33 93 153. - Se garantiza que la solución es matemáticamente posible.
- La fuente de entrada puede ser de un archivo, parámetros de función, stdin, etc. Lo mismo ocurre con la salida.
- No hay escapatorias.
- Este es el código de golf, por lo que gana el conteo de bytes más bajo.
Casos de prueba
# Input in the form <n>, <(d r), (d2 r2), ...>
# where <d> = RHS of the modulo expression and <r> the result of the expression. Output in the next line.
5, (3 2), (4 1), (5 3)
53 113 173 233 293
3, (8, 0), (13, 3), (14, 8)
120 848 1576
Implementación de referencia en pseudocódigo
n = (an integer from stdin)
truths = (value pairs from stdin)
counter = 0
while n != 0 {
if matches_criterias(counter, truths) {
print counter
n -= 1
}
counter += 1
}
0un resultado válido?