Questi esercizi mi stanno facendo impazzire...cerco di risolverli prima di chiedere un parere. Per quanto riguarda questo, dato che:

PiGreco = 4 -4/3 +4/5 -4/7 +4/9 -4/11....

Mi si chiede di mostrare il valore di PiGreco approssimato al primo termine della serie, poi al secondo e così via...e poi calcolare quanti termini mi servono per arrivare a 3.14, 3.141, 3.1415, 3.14159.
Ora io penso di averlo risolto...ma la mia soluzione...mi sa di codice penale...voi come avete fatto (o lo fareste?).
Alex
codice:
//Esercizio 5.20

public class CalcoloPiGreco {
	public static void main(String[] args) {
		double i=1;
		int n=2;
		int a=0,b=0,c=0,d=0;
		double PiGreco= 4;
		double PiGreco2=0;
		for (i=1;PiGreco2 != 3.14159;i +=2){
			if (n%2 == 0){
			        PiGreco -= (4 /(i+2));
			        PiGreco2 = ((int)(PiGreco*100000))/100000.0;
			}
			else{
				
				PiGreco += (4 /(i+2));
				PiGreco2 = ((int)(PiGreco*100000))/100000.0;
				
			}
			n++;
			if (a == 0)
				if (( PiGreco2*100 >=314) && (PiGreco2*100<=315)){
					a = n;
				}
			if (b==0)
				if (( PiGreco2*1000 >=3141) && (PiGreco2*1000<=3142)){
					b = n;
				}
			if (c==0)
				if (( PiGreco2*10000 >=31415) && (PiGreco2*10000<=31416)){
					c = n;
				}
			if (d==0)
				if (( PiGreco2*100000 >=314159) && (PiGreco2*100000<=314160)){
					d = n;
				}
			System.out.printf("%.5f\n", PiGreco2);

			
			
			
		}
		
		System.out.printf("\n\n%d\t%d\t%d\t%d\t", a,b,c,d);
		
	}

}