Informatică, întrebare adresată de Kllaus, 9 ani în urmă

Valoarea lui π poate fi calculatată cu ajutorul formulei:

\frac{ \pi }{4} =1 - \frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \frac{1}{9} - ...

Scrieți un program care calculează valoarea lui π. Pentru că formula utilizează o serie infinită,
valoarea se va calcula cu o precizie de 6 poziții zecimale.

Răspunsuri la întrebare

Răspuns de blindseeker90
3
Precizie de 6 pozitii zecimale inseamna ca diferenta de valoare dintre
doi termeni consecutivi ai sirului de mai sus(1-1/3+1/5-1/7...) este de 0.000001, adica 1 parte la un milion.
Daca testezi asa, o sa vezi ca pi are o eroare de 0.00001, o parte la o suta de mii(la final ca sa obtii pi, trebuie sa inmultesti valoarea sirului cu 4)
Deci ar trebui sa folosesti o eroare maxim admisibila de 10^-7 in loc de 10^-6, dar o sa vezi ca ia foarte mult pana obtine acest grad de precizie
Te poti juca tu cu valorile sa vezi: cu cat eroarea e mai mica, cu atat pi este mai precis, dar timpul de executie creste exponential

#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n,i,nr=1;
long double pi,x0,x1,err;
err=10e-6;
x1=1;
i=3;
do
{
    x0=x1;
x1=x0+pow(-1,nr)/i;
i=i+2;
nr++;
    cout<<x0<<" "<<x1<<endl;
}while(abs(x1-x0)>err);
pi=x1*4;
cout<<"Valoarea lui pi este:"<<pi;

return 0;
}
Alte întrebări interesante