Я нашел решение для вычисления числа Pi с использованием алгоритма BBS. Но я столкнулся с проблемой. Я пропускаю точность при использовании двойной переменной. Есть ли предложение исправить это?Как использовать в Java большие двойные номера?
Вот мой код:
public class Pi {
public static void main(String[] args) {
int n = 5;
for (int k = 0; k < n; k++) {
int a0 = (int) Math.pow(16, k);
double a1 = (double) 4/(8 * k + 1);
double a2 = (double) 2/(8 * k + 4);
double a3 = (double) 1/(8 * k + 5);
double a4 = (double) 1/(8 * k + 6);
double a5 = a1 - a2 - a3 - a4;
double a6 = (double) 1/a0;
double elem = a5 * a6;
System.out.println(new BigDecimal(elem));
}
}
}
Вы отметили свой вопрос «bigdecimal». Ты это пробовал? – EJP