Límites factoriales exactos
Dado un entero positivo number, determina si es exactamente n! para algún entero n.
Si es exacto, devuelve un arreglo que contenga number y n. De lo contrario, devuelve un arreglo vacío.
Ejemplos
isExact(6) // ➞ [Int64(6), Int64(3)]
isExact(24) // ➞ [Int64(24), Int64(4)]
isExact(125) // ➞ []
isExact(720) // ➞ [Int64(720), Int64(6)]
isExact(1024) // ➞ []
isExact(40320) // ➞ [Int64(40320), Int64(8)]
isExact(20922789888000) // ➞ [Int64(20922789888000), Int64(16)]Notas
- Todas las entradas son enteros positivos; no es necesario manejar errores.
- Las entradas pueden ser grandes; usa los tipos
Int64que aparecen en el código inicial. - Puedes resolver este desafío de forma recursiva, pero no es obligatorio usar recursión.
- Hay una versión recursiva de este desafío disponible aquí.