Recursão: limites fatoriais exatos

Crie uma função recursiva que teste se um número é o limite superior exato do fatorial de n. Se for, retorne um array com o limite fatorial exato e n; caso contrário, um array vazio.

Exemplos

isExact(6) ➞ [6, 3]

isExact(24) ➞ [24, 4]

isExact(125) ➞ []

isExact(720) ➞ [720, 6]

isExact(1024) ➞ []

isExact(40320) ➞ [40320, 8]

Observações

  • Espera-se que você resolva este desafio usando recursão.
  • Você pode consultar a aba Resources para obter mais detalhes sobre recursão em Java.
  • Talvez você queira conferir a versão não recursiva deste desafio aqui.
  • Se você acha recursão divertida, confira esta coleção.