Validadores de desplazamiento y multiplicación

Escribe dos validadores para arreglos numéricos de la misma longitud:

  1. El validador de desplazamiento determina si se sumó o restó la misma constante a cada elemento.
  2. El validador de multiplicación determina si cada elemento se multiplicó por la misma constante. La constante puede ser positiva, negativa o cero.

Ejemplos

Program.IsShifted(new double[] { 1, 2, 3 }, new double[] { 2, 3, 4 }) ➞ true
// Cada valor se desplaza en +1.

Program.IsShifted(new double[] { 1, 2, 3 }, new double[] { -9, -8, -7 }) ➞ true
// Cada valor se desplaza en -10.

Program.IsMultiplied(new double[] { 1, 2, 3 }, new double[] { 10, 20, 30 }) ➞ true
// Cada valor se multiplica por 10.

Program.IsMultiplied(new double[] { 1, 2, 3 }, new double[] { -0.5, -1, -1.5 }) ➞ true
// Cada valor se multiplica por -0.5.

Program.IsMultiplied(new double[] { 1, 2, 3 }, new double[] { 0, 0, 0 }) ➞ true
// Cada valor se multiplica por 0.

Notas

  • Los dos arreglos siempre tienen la misma longitud.
  • Si el segundo arreglo contiene solo ceros, el validador de multiplicación devuelve true para cualquier primer arreglo, porque el multiplicador es cero.