Я пытался написать алгоритм Гаусса – Лежандра в JS. Я нашел алгоритм здесь .
Это код, который я написал:
let ao = 1;
let bo = 1 / Math.sqrt(2);
let to = 1 / 4;
let po = 1;
let an;
let bn;
let tn;
let pn;
let pi;
for (let i = 0; i < 10; i++) {
an = (ao + bo) / 2;
bn = Math.sqrt(ao * bo);
tn = to - po * Math.pow(ao - an, 2);
pn = 2 * po;
pi = Math.pow(an + bn, 2) / (4 * tn);
console.log(pi.toFixed(60));
ao = an;
bo = bn;
to = tn;
po = pn;
}
Поскольку я понимаю больше итераций, вы выполняете более точное значение числа pi. Но проблема в том, что после третьей итерации значение pi остается неизменным. Вот первые три значения, которые я получил.
3,140579250522168575088244324433617293834686279296875000000000
3,141592646213542838751209274050779640674591064453125000000000
3,141592653589794004176383168669417500495910644531250000000000
Почему значение Pi остаются неизменными после третьей итерации Гаусса Алгоритм Лежандра?