Factorial de un numero!

Iniciado por barnix456, 11 Mayo 2012, 02:17 AM

0 Miembros y 1 Visitante están viendo este tema.

barnix456

Hola estaba realizando problemas con la estructura while, y me toco hacer el de obtener el factorial de un numero n cualquiera, y realice este codigo:
#include <stdio.h>
#include <stdlib.h>

int main()
{
int n, fac, a=1;

printf("Escribe un numero\n");
scanf("%d", &n);
system("clear");
fac=n;
while (a < n)
{
fac=(fac*a);
a++;
printf (" El factorial es %d \n", fac);
}

return 0;
}


Pero si lo prueban podran ver que el resultado que muestra, son muchos, aunque el ultimo si es el resutlado correcto, como hacer para que solo se muestre el  ultimo valor, que estoy haciendo mal, por ejemplo el factorial de 5 seria 120, como hacer para que solo muestre 120??
"No temo a los ordenadores; lo que temo es quedarme sin ellos"

Isaac Asimov

xiruko

prueba a poner el printf fuera del while.

Hodrix

#2
Esta correcto lo que dijo xiruko pero te aconsejo que plantees mas el problema con mas información de la factorial.

barnix456

Hola como estan, no habia podido responder, por causas de trabajo, me vi en la nesesidad de viajar, pero bueno, intentare ponerlo fuera del while, gracias.. cualquier cosa, lo publico!
"No temo a los ordenadores; lo que temo es quedarme sin ellos"

Isaac Asimov