Ich bin ein Anfänger bei C++ und Codierung selbst, also bitte verzeihen Sie alle Vokabeln Pannen. Ich konnte diese spezifische Frage nicht finden, aber ähnliche im Internet, aber es fällt mir immer noch schwer, ein Ergebnis zu bekommen, das ich brauche.C++ Pi Approximation mit Leibniz-Formel
Ich bin mit der Leibniz-Formel So pi annähert, das ist:
pi = 4 · [1 - 1/3 + 1/5 - 1/7 + 1/9 ... + (-1^n)/(2n + 1)].
Ich habe eine compilable and runnable program geschrieben, aber der Hauptteil des Codes, der mich bedrückt ist:
if (terms > 0){
double partial = 0;
for (i = 0; i < terms; i++)
if (i % 2 == 0)
partial -= (pow(-1,terms))/((2.0 * i) + 1);
else
partial += (pow(-1,terms))/((2.0 * i) + 1);
double newPi = 4 * partial;
cout << "The approximation is " << newPi << " using " << terms << " terms.\n";
}
Wenn Begriffe = 3, die Annäherung = 2,895
Wenn Begriffe = 10, die Näherung = 3,232
Wenn Begriffe = 50, die Annäherung = 3,161
ich bin keine dieser Zahlen zu bekommen. Ich habe allerdings bemerkt, dass wenn ich eine ungerade Zahl einstelle, bekomme ich eine negative und umgekehrt mit geraden Zahlen. Alles, was ich in meinem Programm geschrieben habe, ist alles, was ich bisher in meiner Klasse gelernt habe, also kann ich nicht wirklich aus dem Rahmen gehen, in dem ich geschrieben habe. Jede Hilfe oder Erklärung wäre willkommen.