Gauss-Legendre - wyznaczanie liczby PI
Kod był wyświetlany 2143 razy.
    /*
  Name: Gauss-Legendre - wyznaczanie liczby PI
  Copyright: GPL GNU
  Author: WJL
  Date: 02-11-08 01:05
  Description: Gauss-Legendre - wyznaczanie liczby PI
*/
#include <iostream>
#include <math.h>
using namespace std;

void pi(double n, int ile)
{
    double an=1,bn,tn=0.25,pn=1,pi,pomoc;
    unsigned int  licznik=0;


    bn=1/sqrt(2);

    while (licznik<n)
  {
    pomoc = an;
    an=(an+bn)/2;
    bn=sqrt((pomoc*bn));
    tn=tn-(pn*(pow((pomoc-an),2)));
    pn=2*pn;
    pi = (pow((an+bn),2))/(4*tn);
    ++licznik;
  }
  cout.precision(ile+1);
  cout<<"\n\n\tWartosc liczby PI wynosi: "<<pi;
 }

int main()
{
    static double n;
    int ile;
    bool stan=true;

    cout<<"\n\n\tPodaj wartosc n<=1000: ";
    cin>>n;

    do
        {
        if(n<0||n>1000)
        {
        cout<<"\n\n\tPrzekroczono zakres danych...";
        cout<<"\n\n\t Podaj powtornie n :";
        cin>>n;
        stan=false;
        }}
    while(stan=false);

        cout<<"\n\n\tPodaj ile miejsc poprzecinku ma byc wyswietlone ";
        cin>>ile;
        pi(n,ile);


 cin.ignore();
 getchar();
 return 0;
}
    
Pobierz plik tekstowy
Administrator WJL
PHP&SQL coded by NOVA-IT