Antidivisores de un número

Los antidivisores son números que no dividen un número dado por el margen más grande posible, y se pueden encontrar siguiendo un conjunto simple de reglas:

  • 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 que contenga los antidivisores de n ordenados de forma ascendente.

Ejemplos

anti_divisors(10) ➞ [3, 4, 7]
# 3 is a divisor of 21 (10 * 2 + 1)
# 4 is a divisor of 20 (10 * 2)
# 7 is a divisor of 21

anti_divisors(12) ➞ [5, 8]
# 5 is a divisor of 25 (12 * 2 + 1)
# 8 is a divisor of 24 (12 * 2)

anti_divisors(20) ➞ [3, 8, 13]
# 3 is a divisor of 39 (20 * 2 - 1)
# 8 is a divisor of 40 (20 * 2)
# 13 is a divisor of 39

Notas

El n dado puede ser cualquier entero, positivo, negativo o 0.