Antidivisores de un número
Los antidivisores son números que no dividen exactamente un número dado, sino que quedan lo más lejos posible de hacerlo. Se pueden encontrar siguiendo un conjunto sencillo 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 - 1on * 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 vector 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 39Notas
Devuelve una colección vacía cuando n <= 1. El valor dado n puede ser cualquier entero, ya sea positivo, negativo o 0.