Red de conocimiento informático - Conocimiento informático - Cómo programar para calcular n! ?

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;

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);

}

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;

}

/*

Resultado de ejecución: (por ejemplo, encontrar el factorial de 5)

5

120

*/