не получается расчитать число пи по ряду нилаканта в python

Написал вот такой код на Python который должен расчитывать число пи по ряду нилаканта:

pi = 3.00
num1 = 2
num2 = 3
num3 = 4
for i in range(3):
    pi += 4 / (num1 * num2 * num3)
    num1 += 2
    num2 += 2
    num3 += 2
    pi -= 4 / (num1 * num2 * num3)
    print(pi)

Но вместо числа пи он выдает что-то странное, я проверил код очень много раз и не понял в чем ошибка.


Ответы (1 шт):

Автор решения: Эникейщик

Плохо проверил. num1, num2 и num3 увеличиваются на 2 в каждой итерации, а у тебя только каждые два раза. Нужно еще раз добавить увеличение на 2 после вычитания.

for i in range(3):
    pi += 4 / (num1 * num2 * num3)
    num1 += 2
    num2 += 2
    num3 += 2
    pi -= 4 / (num1 * num2 * num3)
    num1 += 2
    num2 += 2
    num3 += 2
→ Ссылка