[C con Clase] problema

Steven Davidson steven en conclase.net
Vie Ene 26 06:55:11 CET 2007


Hola Rulbert,

El pasado 2007-01-25 23:35:59, rulbert escribió:

r> me pueden ayudar con esto, gracias
r>  
r> S=1+4!/3+6!/5+8!/7…N                        N: numero de términos a sumar.
r>  
r> Análisis:
r>  
r> Numerador:                 2!  4!  6!  8!.....<<<< factorial de pares desde  2.
r> Denominador:              3  5  7  11  13...<<< Números primos.
r>  
r> determinar la suma de la serie.
r>  

Antes de continuar, quiero aclararte que no tenemos ningún problema en ayudarte, pero lo que no haremos, o al menos no es la intención de esta lista, es hacer la tarea por ti. Si tienes dudas o inquietudes, te ayudaremos cuanto podamos, pero no más allá de explicar.

Dicho lo anterior, veamos el problema que tienes entre manos. Por lo que veo, necesitarás diseñar un algoritmo que exprese el comportamiento anterior. Para ayudarte un poco, te puedo dar la fórmula del numerador. Por ejemplo,

Numerador := SUMA( (2*i)! ), donde i=0,1,2,...,N-1,N

Creo que el algoritmo para denominador no será tan difícil, por lo que te lo dejo en tus manos.

Ahora bien, para implementar esto bajo C++, sugiero usar valores de tipo 'double' o incluso 'long double'. Esto es porque los resultados del factorial serán cantidades muy grandes. Estos valores superarán fácilmente a las limitaciones del tipo de dato 'unsigned long int', que en general ocupa 32 bits. Esdto significa que el valor máximo de este tipo es 4294967296. Para que te hagas una idea, 13! = 6227020800.


Espero que esto te sea de ayuda.

Steven


Más información sobre la lista de distribución Cconclase