PythonでWallisの公式を書いてみました。Wallisの公式は円周率を多項式を利用して近似するものです。元ネタはPython Scientific lecture noteの英語版(2012年8月リリース)19ページの練習問題になります。実行結果を見てみると、引数の値を大きくするにつれて、円周率に近づいている様子が確認できます。ちなみにnumは数字というよりもnumerator(分子)のつもりです、念のため。
def wallis_formula(n): mypi = 1 for i in range(1, n): num = 4*(i**2) mypi *= float(num)/(num-1) return 2 * mypi ''' >>> wallis_formula(1000) 3.1408069608284657 >>> wallis_formula(10000) 3.1415141108281714 >>> wallis_formula(100000) 3.141584799578707 >>> wallis_formula(1000000) 3.1415918681913633 '''
0 件のコメント:
コメントを投稿