Validadores de deslocamento e multiplicação

Escreva dois validadores para arrays numéricos de mesmo tamanho:

  1. O validador de deslocamento determina se a mesma constante foi somada ou subtraída de cada elemento.
  2. O validador de multiplicação determina se cada elemento foi multiplicado pela mesma constante. A constante pode ser positiva, negativa ou zero.

Exemplos

Program.IsShifted(new double[] { 1, 2, 3 }, new double[] { 2, 3, 4 }) ➞ true
// Cada valor é deslocado em +1.

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

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

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

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

Observações

  • Os dois arrays sempre têm o mesmo tamanho.
  • Se o segundo array contiver apenas zeros, o validador de multiplicação retornará true para qualquer primeiro array, pois o multiplicador é zero.