Factorial en lenguajes de la familia C
He estado tratando de hacer una función factorial en C ++, y acabo de encontrar que las entradas que son mayores que 10 no se calculan correctamente. Intenté C # pero me enfrenté al mismo problema.
utilizando esta función recursiva:
int Factorial(int Number) {
if (Number == 0) return 1;
return Number * Factorial(Number - 1);
}
El programa devuelve 0 para números grandes, e incluso pequeñas entradas como 15 o 16 se calculan incorrectamente, quiero decir que el resultado difiere de lo que obtengo en la calculadora de Windows.