Seja a fórmula matemática para calcular Pi (Π|π)
Fazendo algumas operações algebricas para que a fórmula fique mais fácil de trabalha no algoritmo:
o algoritmo:
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
public class Pi{
public Pi(){
int precisao = 15000;
MathContext mx = new MathContext(precisao, RoundingMode.HALF_EVEN);
BigDecimal quatro = new BigDecimal( 4, mx);
BigDecimal pi = new BigDecimal( 0, mx);
BigDecimal sinal = new BigDecimal( 1, mx);
BigDecimal incrementoDenominador = new BigDecimal( 2, mx);
BigDecimal denominador = new BigDecimal( 1, mx);
for (int i = 0 ; i < precisao ; i++) {
BigDecimal tmp = quatro.divide(denominador, mx);
tmp = tmp.multiply(sinal, mx);
pi = pi.add(tmp, mx);
sinal = sinal.negate();
denominador = denominador.add(incrementoDenominador);
}
System.out.print("\u03c0: ");
System.out.println(pi);
}
public static void main(String[] args) {
new Pi();
}
}