Cómo programar 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
int Func(int n)
{
si(n < 2)
devuelve 1;
else
return n*Func(n-1);
}
void main()
{ p>
int n =0,m=0;
printf("Ingrese un número entero positivo:")
scanf("%d",&n);?
m=Func(n);
printf("%d!=%d\n",n,m);
}
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
int main() {
int n ,i, s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)//bucle for para acumulación
s=s*i;
printf("%d\n",s);
devuelve 0;
}
/*
Resultado de ejecución: (por ejemplo, encontrar el factorial de 5)
5
120
*/