Antidivisores de un número

Los antidivisores son números que no dividen un número dado y quedan lo más lejos posible de hacerlo. Se pueden encontrar siguiendo unas reglas sencillas:

  • Se comprueba cada número mayor que 1 y menor que n.
  • Cada número comprobado no debe ser divisor de n.
  • Si el número comprobado es impar y es divisor de n * 2 - 1 o n * 2 + 1, es un antidivisor.
  • Si el número comprobado es par y es divisor de n * 2, es un antidivisor.

Dado un entero n, implementa una función que devuelva un arreglo con los antidivisores de n ordenados de forma ascendente.

Ejemplos

antiDivisors(10) ➞ [3, 4, 7]
// 3 es divisor de 21 (10 * 2 + 1)
// 4 es divisor de 20 (10 * 2)
// 7 es divisor de 21

antiDivisors(12) ➞ [5, 8]
// 5 es divisor de 25 (12 * 2 + 1)
// 8 es divisor de 24 (12 * 2)

antiDivisors(20) ➞ [3, 8, 13]
// 3 es divisor de 39 (20 * 2 - 1)
// 8 es divisor de 40 (20 * 2)
// 13 es divisor de 39

Notas

Devuelve una colección vacía cuando n <= 1. El valor n puede ser cualquier entero, ya sea positivo, negativo o 0.