[Ayuda] Hallar la suma de los dígitos de el factorial de 100

Iniciado por Loperso, 29 Abril 2016, 04:33 AM

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

Loperso

Hola, tengo un programa para hacer en la universidad, lo que me pide es que primero halle el factorial de 100, y luego de eso el resultado sume digito por digito, y que imprima ese resultado.

Hice un programa pero no puedo usarlo bien porque al usar modulo (%) no me lo permite porque hay variables declaradas como double,no se como puedo hacerlo necesito un poco de ayuda

Aqui el programa
#include <stdio.h>
#include <iostream>
#include <stdlib.h>

main()
{
int i,num,a,suma,b=0;
double n=1,modulo,factorial;

printf("Intrododuce el número del cual calcular su factorial \n");
scanf("%d",&num);

for(i=1;i<num+1;i++){
    n=n*i;
    printf("%i", n);
}
for(a=0;a<=200;a++)
{
b=n%10;
suma=suma+b;
factorial=factorial/10;
}
printf("%i", suma);
return 0;
}


De verdad me ayudaría mucho algún retoque al mio o uno diferente, pero en este momento estoy estancado, gracias.

MAFUS

#1
Ahora no tengo tiempo de probar nada.

Para conseguir el módulo de doubles usa fmod.




Lo he probado y deberás buscar otra solución para conseguir el factorial de 100.
tu programa dice
100! = 93326215443944102188325606108575267240944254854960571509166910400407995064242937148632694030450512898042989296944474898258737204311236641477561877016501813248

python3 dice
100! = 933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000

geeke

Al parecer nadie se dio cuenta de lo obvio, el factorial de 100 contiene 158 dígitos decimales; es imposible que un duoble pueda almacenar este numero ni con otro tipo nativo de C, debes usar librerías como GMP o la fórmula de Stirling.

HardForo

HardForo:  foro de Hardware y programación

Se buscan Mods y colaboradores *

MAFUS

Iba a hacer un dato personalizado,  pero este fin de semana lo tengo algo ocupado  :rolleyes:
Así que solo contestaré cosas sencillas  :silbar: