Also die Aufgabenstellung lautet: ein programm zu erstellen, um Pi auf 5 Dezimalstellen genau zu berechnen.
die formel für Pi ist 1 - 1/3 + 1/5 - 1/7 + 1 /9 .... * 4
so nun hab ich folgendes programm geschrieben:
Nur irgendwie gibt er mir immer nur 1.0 aus...???? warum rechnet er nicht??
Das mit " while (i > 3000) is zum ignorieren, das hab ich einfach mal hingeschrieben, das halt irgendwas dort steht. aber da is auch nicht das problem...
der Lösungscode hab ich auch - den seht ihr unten, doch irgendwie is de formel ja gleich die ich da geschrieben hab wie vom lösungscode... aber es funktioniert nicht... ich würde da mal gerne um Hilfe bitten!!
die formel für Pi ist 1 - 1/3 + 1/5 - 1/7 + 1 /9 .... * 4
so nun hab ich folgendes programm geschrieben:
Code:
class pi {
public static void main(String[] arg) {
int i = 1;
double sum = 0.0;
do {
sum = sum + ( 1/i - 1/(i + 2) );
i = i + 4;
} while ( i > 3000);
double pi = sum*4;
Out.println(pi);
}
}
Nur irgendwie gibt er mir immer nur 1.0 aus...???? warum rechnet er nicht??
Das mit " while (i > 3000) is zum ignorieren, das hab ich einfach mal hingeschrieben, das halt irgendwas dort steht. aber da is auch nicht das problem...
der Lösungscode hab ich auch - den seht ihr unten, doch irgendwie is de formel ja gleich die ich da geschrieben hab wie vom lösungscode... aber es funktioniert nicht... ich würde da mal gerne um Hilfe bitten!!
Code:
class A1 {
public static void main(String[] arg) {
double n = 1.0, n0 = 0.0;
int i = 3, sign = - 1;
while (Math.abs(n - n0) > 0.0000025) { // 0.00001 / 4
n0 = n;
n = n + sign * (1.0 / i);
sign = - sign;
i = i + 2;
}
double pi = 4 * n;
Out.println("pi = " + pi);
}
}