Рассчитать число Пи по ряду Нилаканта
Ряд Нилаканта — это бесконечный ряд для вычисления числа Пи. Он более сложный, чем ряд Лейбница, но даёт гораздо более точное значение числа Пи чем ряд Лейбница, при относительном меньшем значении итераций.
π = 3 + 4 / (2*3*4) – 4 / (4*5*6) + 4 / (6*7*8) – . . .
Принцип работы: нужно записать число 3 и чередовать сложение и вычитание дробей с числом 4 в числителе и произведением трёх последовательных целых чисел, которые увеличиваются с каждой новой итерацией, в знаменателе. Каждое последующее произведение начинается с наибольшего числа, используемого в предыдущем произведении. А теперь приведу скрипт на языке R, который вычислит значение числа Пи с заданным числом итераций...
# ряд Нилаканта на языке R
# π=3+4/(2·3·4)-4/(4·5·6)+4/(6·7·8)-4/(8·9·10)+4/(10·11·12)
options(digits = 22)
PI=3; n=2; sign = 1
for (i in 1:100000000) {
PI = PI + (sign * (4 / ((n) * (n + 1) * (n + 2))))
sign = sign * (-1)
n = n + 2
}
PI;pi
1 - abs(pi - PI)
> PI=3; n=2; sign = 1
> for (i in 1:100000000) {
+ PI = PI + (sign * (4 / ((n) * (n + 1) * (n + 2))))
+ sign = sign * (-1)
+ n = n + 2
+ }
> PI;pi
[1] 3.141592653589786899
[1] 3.141592653589793116
> 1 - abs(pi - PI)
[1] 0.9999999999999937828
|
В результате выполнения этой конструкции после минуты расчетов на компьютере мы получили очень точное значение числа Пи с точностью до 14 знаков после запятой.