Cómo programar para calcular n! ?
Programación para calcular n! , es decir, n*(n-1)*(n-2)*....*1, que se puede implementar mediante funciones recursivas. El método de implementación específico:
#include lt; .hgt;
int Func(int n)
{
si(n lt; 2)
devuelve 1; p>
else
return n*Func(n-1);
}
void main()
{
int n =0, m=0;
printf("Ingrese un número entero positivo:")
scanf("d", amp; n );?
m=Func(n);
printf("d!=d\n",n,m);
} p>
En el código del programa anterior, Func() es una función recursiva Después de recibir el valor entero de entrada del teclado en la función principal main(), se llama a la función recursiva Func() El primer nivel m=n*. (n-1)! , continúe con la llamada recursiva, m=n*(n-1)(n-2)!, y recurra capa por capa hasta N! .
Los resultados de salida del programa son los siguientes:
Información ampliada:
El llamado factorial de n es el producto de 1 por n, por lo que además al método recursivo, de hecho, ¡también podemos usar un bucle for para calcular n de 1 a n! objetivo.
El código de implementación específico es el siguiente:
#include lt; stdio.hgt
int main() {
int; n, i, s=1;
scanf("d",amp;n);
for(i=1;ilt;=n;i)//bucle for para acumulación
s=s*i;
printf("d\n", s);
devuelve 0;
} p>
/*
Resultado de ejecución: (por ejemplo, encontrar el factorial de 5)
5
120
*/