Tarea
Defina un pliegue mod en función de la forma f (x) = x% a 1 % a 2 %…% a k , donde a i son enteros positivos yk ≥ 0 . (Aquí, % es el operador de módulo asociativo a la izquierda).
Dada una lista de n enteros y 0 , ..., y n − 1 , determine si existe un pliegue mod f para que cada y i = f (i) .
Puede elegir y corregir dos salidas Y y N para su función / programa. Si existe tal f , siempre debe devolver / imprimir exactamente Y ; si no, siempre hay que volver / imprimir exactamente N . (Estos podrían ser true
/ false
, o 1
/ 0
, o false
/ true
, etc.) Mencione estos en su respuesta.
La presentación más corta en bytes gana.
Ejemplo
Definir f (x) = x% 7% 3 . Sus valores comienzan:
| x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ...
| f(x) | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | ...
Por lo tanto, dado 0 1 2 0 1 2 0 0 1 2
como entrada a nuestra solución, imprimiríamos Y , ya que esta f genera esa secuencia. Sin embargo, dado 0 1 0 1 2
como entrada, imprimiríamos N , ya que no f genera esa secuencia.
Casos de prueba
Las fórmulas dadas cuando la salida es Y son solo para referencia; en ningún momento debe imprimirlos.
0 1 2 3 4 5 Y (x)
1 N
0 0 0 Y (x%1)
0 1 2 0 1 2 0 0 1 2 Y (x%7%3)
0 0 1 N
0 1 2 3 4 5 6 0 0 1 2 Y (x%8%7)
0 1 2 0 1 2 0 1 2 3 N
0 2 1 0 2 1 0 2 1 N
0 1 0 0 0 1 0 0 0 0 1 Y (x%9%4%3%2)