Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: barnix456 en 11 Mayo 2012, 02:17 am



Título: Factorial de un numero!
Publicado por: barnix456 en 11 Mayo 2012, 02:17 am
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:
Código:
#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??


Título: Re: Factorial de un numero!
Publicado por: xiruko en 11 Mayo 2012, 02:32 am
prueba a poner el printf fuera del while.


Título: Re: Factorial de un numero!
Publicado por: Hodrix en 11 Mayo 2012, 03:13 am
Esta correcto lo que dijo xiruko pero te aconsejo que plantees mas el problema con mas información de la factorial.


Título: Re: Factorial de un numero!
Publicado por: barnix456 en 12 Mayo 2012, 17:00 pm
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!