Willkommen auf www.sudokurechner.de.vu

Linkweg: Home / Pi berechnen / Umsetzung durch ein C++ Programm

Umsetzung durch ein C++ Programm

Genauere Ergebnisse erhält man, wenn man eine echte Programmiersprache zur Berechnung von Pi verwendet. Hier ein Beispiel in der Programmiersprache C++:

C++-Code
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
 
int laenge(double zahl) {
  double count;
  count = 0;
  while ((zahl/pow(10,count)) > 10)
    count++;
  return static_cast<int>(count);
}
 
int main() {
 
  long double s;
  double n;
  long double pi;
  long double backup;
  int length;
 
  //Startwerte
  s  = 1;
  n  = 1;
  pi = 3;
 
  do {
    //Ausgabe
    cout << 3*pow(2,n) << "eck: ";
    length = laenge(3*pow(2,n));
    for (int x=0;x<(9-length);x++)
      cout << " ";
    cout << setprecision(19) << pi << endl;
    //neuen Wert fuer Pi berechnen
    backup = pi;
    s = sqrt(s*s/4+(1-sqrt(1-s*s/4))*(1-sqrt(1-s*s/4)));
    pi = 3*pow(2,n)*s;
    n++;
  } while (backup != pi);
 
  return 0;
 
}

Dieses Programm gibt folgendes Ergebnis aus:

6eck: 3 12eck: 3.105828541230249148 24eck: 3.132628613281238197 48eck: 3.139350203046867207 96eck: 3.141031950890509638 192eck: 3.141452472285462076 384eck: 3.141557607911857646 768eck: 3.141583892148318409 1536eck: 3.141590463228050096 3072eck: 3.141592105999271551 6144eck: 3.141592516692157448 12288eck: 3.141592619365383955 24576eck: 3.141592645033690897 49152eck: 3.141592651450767652 98304eck: 3.141592653055036842 196608eck: 3.141592653456104139 393216eck: 3.141592653556370963 786432eck: 3.141592653581437669 1572864eck: 3.141592653587704346 3145728eck: 3.141592653589271015 6291456eck: 3.141592653589662682 12582912eck: 3.141592653589760599 25165824eck: 3.141592653589785078 50331648eck: 3.141592653589791198 100663296eck: 3.141592653589792728 201326592eck: 3.14159265358979311 402653184eck: 3.141592653589793206 805306368eck: 3.14159265358979323 1610612736eck: 3.141592653589793236 3221225472eck: 3.141592653589793237 6442450944eck: 3.141592653589793238

Der letzte Wert entspricht dem bei Wikipedia gegebenen Näherungswert für Pi auf 18 Nachkommastellen genau, wobei die letzte Stelle abgerundet wurde.

Zurück: Umsetzung durch ein PHP-Skript
Weiter: Noch mehr Nachkommastellen