1.#INF00 es la forma en que tiene tu compilador de decirte que el número que estás calculando es demasiado grande para poder ser representado como float.
Hay un error en la forma de calcular el factorial. Te paso una función que lo hace mejor:
Código C:
Ver originalunsigned int factorial(int n)
{
int contador;
int fact = 1;
for (int contador = 1; contador <= n; contador++) {
fact = fact * contador;
}
return fact;
}
Cita: ¿Por cierto el "1e-5" a que se refiere?
se llama "notación exponencial" o "notación científica", y es una forma de decir 1x10^(-5), o sea: 0.00001
(
https://es.wikipedia.org/wiki/Notaci...ient%C3%ADfica)