Pythonで、円周率πが
π=2×2/1×2/3×4/3×4/5×6/5×6/7×8/7....
の公式で近似でき、円周率を小数点以下2桁の精度で近似するには、右辺にはいくつの項の積が必要であるかを求めるスクリプトを作成したいのですが、これはnumpyを用いて考えるのでしょうか。
色々調べてみたのですが、行き詰ってしまったので、教えていただきたいです。
まず、整数 1 〜 n の積を求めるプログラムは書けますか?
次に、関数 f(x) に対して、f(1) 〜 f(n) の積を求めるプログラムを書いて、f(x) をどうすれば良いか考えると良いのでは。
でも、浮動小数点数の誤差が気になるかも…。
記載されている公式を見ますと、
Wallis product
https://en.wikipedia.org/wiki/Wallis_product
なのだと思います。なので、
https://stackoverflow.com/search?q=%5Bpython%5D+wallis+formula
が参考になるかと。
http://www.pluto.ai.kyutech.ac.jp/~matumoto/dvi/pi.pdf
に示されている項の数nから求まる有効桁数P(f(n))からするに,P(log10(n))であることから,2桁の精度を求めた場合100~1000個あたりの項が必要そうですね.