0

私の挑戦

私は現在、Node.js を使用して reddit の/r/dailyprogrammerの課題に取り組んでおり、問題を抱えています。この 1 つのエクササイズで 3 日目を終えるので、助けを求めることにしました。方法がわからないまま先に進むことを拒否します。

課題 #6: 今日の課題は、円周率を少なくとも小数点以下 30 桁まで正確に計算できるプログラムを作成することです。

私の思わぬ障害

mathjsを介して求めていた精度の算術演算を取得することができましたが、小数点以下30桁を取得する方法に困惑しています。私の目標を達成するのに役立つライブラリ、回避策、または構成を知っている人はいますか?

/*jslint node: true */
"use strict";

var mathjs = require('mathjs'),
  math = mathjs();

var i,
  x,
  pi;

console.log(Math.PI);

function getPi(i, x, pi) {
  if (i === undefined) {
    pi = math.eval('3 + (4/(2*3*4))');
    i = 2;
    x = 4;
    getPi(i, x, pi);
  } else {
      pi = math.eval('pi + (4/('+x+'*'+x+1+'*'+x+2+')) - (4/('+x+2+'*'+x+3+'*'+x+4+'))');
      x += 4;
      i += 1;
    if (x < 20000) {
      getPi(i, x, pi);
    } else {
      console.log(pi);
    }
  }
}

getPi();

私はこれを何度も繰り返しましたが、この例ではニラカタ シリーズを使用しています。

ニラカタシリーズ

4

2 に答える 2