volver al archivo
14
MAY
día 14 / 30

Checksum roto

Medio
arraysbitwisereduce
historia · contexto

Historia

Día 14

Cada paquete de telemetría llevaba un byte de paridad: el XOR acumulado de todos los bytes anteriores. Cuando el XOR calculado no coincidía con el declarado, el paquete se rechazaba.

Estás revisando paquetes que la Hespérides rechazó durante los tres últimos días. La Corporación dice que fue ruido solar. Quieres verificarlo.

objetivo · spec

Tu misión

Tu misión

Implementa calcularChecksum(bytes) que devuelve el XOR acumulado de todos los elementos del array.

Reglas

  • bytes son números enteros 0-255.
  • Array vacío → 0.

Ejemplo

calcularChecksum([1, 2, 3])    // → 0  (1 ^ 2 ^ 3 = 0)
calcularChecksum([0xFF, 0x00]) // → 255
calcularChecksum([])            // → 0
calcularChecksum([42])         // → 42
validación

Casos de prueba

tests/6.casesmostrando 5 de 6
  1. [01]1 ^ 2 ^ 3 = 0
  2. [02]XOR con cero
  3. [03]array vacío
  4. [04]un único byte
  5. [05]bits distintos
  6. … y 1 caso más, ocultos hasta enviar.