Ayuda con el calculo de Pi por la Serie de Euler

Iniciado por Rollingman216, 23 Agosto 2017, 16:24 PM

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

Rollingman216

Buen dia a todos , la serie de Euler: sqrt (6*sumatoria k=1,k<=n de 1/(k^2)) esto es lo que se supone debe generar el programa pero solo arroja valores de 1 y un número pi incorrecto, ¿La estaré regando en algo? Ayuda por favooor

Código (cpp) [Seleccionar]
#include <iostream>
#include <stdio.h>
#include <math.h>

using namespace std;

int main (){
int k,x,x2;
double pi,op=0,sum=0,num=0;
cout << "\t*****Hola, bienvenido al programa Serie de Euler*****\n\n" ;
start :
cout << "Ingresa el numero de cifras significativas:\t\n" << endl;
cin >> k ;
cout << "\nElegiste el numero:\t" << k << "\nGracias" << endl;

for(x=1; x<=k; x++) {
x2=x*x ;
op = 1/x2 ;
sum = sum + op ;
cout << "El resultado de evaluar a\t" << x << "\tes:  " << op << endl ;
cout << "La suma es\t" << sum << endl ;

}

pi = sqrt(6 * sum) ;
cout << "\nEl resultado de pi es: " << pi << endl ;
goto start ;

return 0;
}


ivancea96

Asñi por encima:
Código (cpp) [Seleccionar]
op = 1/x2;

x2 es int, no double. El resultado de 1/x2 es también entero, con lo que quedará 0 o 1 ahí siempre.

Puedes hacer x2 double para solucionarlo. Ten en cuenta que toda operación en la que solo haya enteros, dará un resultado entero también.

Rollingman216

Ya que este foro no tiene botón de agradecimiento, ocupo un espacio para hacerlo.... Gracias bro me sirvió el consejo, hice double todo para no tener problemas. Duda resuelta

engel lex

solo por sacar de nuevo a la luz un tema viejo (y hacer spam XD)... calcular pi a miles de decimales
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.