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

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

{

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

*/