Factoriales

Escribe una función que filtre un arreglo y devuelva únicamente los números que sean factoriales, manteniendo su orden de entrada. Un factorial puede escribirse así:

n! = n × (n-1) × (n-2) × ... × 3 × 2 × 1

De manera equivalente, la definición recursiva es n! = n × (n-1)!. El valor 1 es un factorial.

Ejemplos

Program.filterFactorials(new int[]{1, 2, 3, 4, 5, 6, 7}) ➞ new int[]{1, 2, 6}

Program.filterFactorials(new int[]{1, 4, 120}) ➞ new int[]{1, 120}

Program.filterFactorials(new int[]{8, 9, 10}) ➞ new int[0]