Как Андреас упомянул в комментариях, это вычисление приводит к переполнению чисел, потому что значения становятся большими даже для длинных типов данных.
Максимальные шаги, которые вы можете сделать с вашим алгоритмом прямо сейчас, равны 5
потому что 20! = 2432902008176640000
, 21! = -4249290049419214848
, что вызвано переполнением чисел.
Но даже в этом случае в вашем коде есть небольшая ошибка, потому что вы забыли суммировать значения в цикле:
pi += ((fakultaet * (1103 + (26390 * i))) / Math.pow(fakultae2, 4) * Math.pow(396, 4 * i));
Для получения большей точности также используйте двойные значения для постоянных значений:
pi += ((fakultaet * (1103d + (26390d * i))) / Math.pow(fakultae2, 4) * Math.pow(396, 4 * i));
Использование этого с 5 итерациями приведет к следующему:
Pi nach ein paar Rechnungen: 4.0513767058512194E63
Этоне очень хороший результат для PI.
Чтобы улучшить его и повысить точность, вы можете использовать BigDecimal
class.