Hola!
Espero que exista alguien por aqui para ayudarme con mi problema, tengo que calcular el factorial de un numero en c++ y tengo un problema en mi programa solo que no se que es lo uqe esta haciendo mal.
cuando me imprime:
printf("El log de factorial de '%d' es: '%f'\n", contador, lfact);
todo va bien hasta:
printf("El factorial de '%d' es: '%f' por 10 a la '%d'\n", contador, exp(residuo=log(10)),potencia);
porqe lo multiplica por 10 a la 0
¿alguien podria ayudarme? por favor!
#include<stdio.h>
int main ()
{
int contador, n, potencia;
float lfact, residuo;
printf("Escribe un numero entero positivo.\n");
scanf("%d", &n);
lfact=0;
for(contador=1;contador<=n;contador++)
{
lfact=lfact+log((float)contador)/log(10);
printf("El log de factorial de '%d' es: '%f'\n", contador, lfact);
potencia=(int)lfact;
residuo=log(10);
printf("El factorial de '%d' es: '%f' por 10 a la '%d'\n", contador, exp(residuo=log(10)),potencia);
}
system ("pause");
return 0;