Originariamente inviato da Andrea1979
Qualcosa del genere?
codice:
public class PIApprox {
// Scegli la precisione
static double approx = 10E-5;
public static void main (String[] args) {
double previous = 4;
double current = 0;
int i = 1;
while (Math.abs(previous-current) / 2 > approx) {
current = previous + (4d/(2*i+1))*(i % 2 == 0 ? 1 : -1);
SNIP
Ho provato a far girare il tuo codice...diciamo che alcune cose non le capisco anche perchè non le ho ancora studiate..
Cmq il tuo codice non fa quello che propriamente si richiedeva nell'esercizio...semplicemente trova 3.14159.... dopo tot cicli....IL FATTO è che, facendolo girare, mi è tornato 10000 cicli per trovare PiGreco...mentre nel mio ce ne mette molti meno:
codice:
2,66666
3,46666
2,89523
3,33968
2,97604
3,28373
3,01707
3,25236
3,04183
..........
...........
...........
...........
3,14158
3,14160
3,14158
3,14160
3,14158
3,14159
120 1689 10795 57650
Gli ultimi numeri sono esattamente le iterazioni per trovare rispettivamente 3.14, 3.141, 3.1415 e 3.14159
Alex