Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Loperso en 29 Abril 2016, 04:33 am



Título: [Ayuda] Hallar la suma de los dígitos de el factorial de 100
Publicado por: Loperso en 29 Abril 2016, 04:33 am
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
Código:
#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.


Título: Re: [Ayuda] Hallar la suma de los dígitos de el factorial de 100
Publicado por: MAFUS en 29 Abril 2016, 06:56 am
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


Título: Re: [Ayuda] Hallar la suma de los dígitos de el factorial de 100
Publicado por: geeke en 29 Abril 2016, 18:58 pm
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.


Título: Re: [Ayuda] Hallar la suma de los dígitos de el factorial de 100
Publicado por: HardForo en 29 Abril 2016, 19:34 pm
 ;-)


Título: Re: [Ayuda] Hallar la suma de los dígitos de el factorial de 100
Publicado por: MAFUS en 29 Abril 2016, 20:49 pm
Iba a hacer un dato personalizado,  pero este fin de semana lo tengo algo ocupado  :rolleyes:
Así que solo contestaré cosas sencillas  :silbar: