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, a string "Not an exact bound!".
Exemplos
isExact(6) ➞ [6, 3]
isExact(24) ➞ [24, 4]
isExact(125) ➞ "Not an exact bound!"
isExact(720) ➞ [720, 6]
isExact(1024) ➞ "Not an exact bound!"
isExact(40320) ➞ [40320, 8]Observações
- Espera-se que os participantes do desafio criem uma solução usando o conceito de recursão ou a chamada abordagem recursiva.
- Você pode ler mais sobre recursão (consulte a aba Resources) se ainda não estiver familiarizado com ela ou não tiver compreendido completamente o conceito antes de realizar este desafio.
- Não haverá exceções para tratar. Todas as entradas são números inteiros positivos.
- Uma abordagem recursiva pode causar um Uncaught RangeError ou exceder o tamanho máximo de chamadas da pilha.
- Uma versão não recursiva deste desafio (de menor dificuldade e com total liberdade para não usar uma abordagem recursiva) pode ser encontrada aqui.
- Se você acha recursão divertida, pode encontrar uma coleção desses desafios aqui.