Valor de PI

2 respostas
E

Não consigo fazer o valor de Pi aparecer:

Questão:

Calcule o valor de Pi das séries infinitas:
PI = 4 - 4/3 + 4/5 + 4/7 + 4/9 + 4/11 + ...

Imprima uma tabela que mostre o valor aproximado de Pi computando um termo da série, por dois termos da série, por tres termos e assim por diante. Quantos termos dessa série vc tem de utilizar antes de primeiro obter 3,14? 3,141? 3,1415? 3,14159?

Meu codigo:

public class ValorPi
{
	public static void main(String args[])
	{
		int b=3;
		double valPi=4.0-4.0/3.0;
		
		System.out.printf("1 termo: 4\n");
		System.out.printf("2 termos: %f\n",valPi);
		
		for(int a=5;a<=13;a+=2)
		{
			valPi+=4.0/a;
			System.out.printf("%d termos: %f\n",b++,valPi);
		}
	}
}

Alguem pode ajudar?

2 Respostas

T

Essa função converge super-lentamente.

Além disso você copiou o valor da lousa errado, a série é:

4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + …

ou seja, o valor a ser acrescentado à série vai trocando de sinal!

P
public class ValorPi{

        public static void main(String args[])
        {
                float pi=0.0;
                int termos = (args.length ==0) ? 10 :                       Integer.parseInt(args[0]);

                for(int i=0;i<termos;i++)
                        pi += ((i%2==1)? -1.0 : 1.0)/(2.0*i+1.0);

                System.out.println("O Valor de Pi com " + termos  + " termos eh : " + (4.0*pi));
        }
}
Criado 3 de maio de 2006
Ultima resposta 4 de mai. de 2006
Respostas 2
Participantes 3