円周率
円周率をプログラミングで出してみます。
phpだと、
<?php echo pi();
もしくは
<?php echo M_PI;
で求められます。
今回はアルゴリズムで円周率を求めてみたいと思います。
使用するのはマチンの公式
π / 4 = 4 arctan 1/ 5 - arctan 1/ 239 但し、arctan x = x - x ^ 3 / 3 + x ^ 5 / 5 - x ^7 / 7 + ・・・
です。
以下ソース
<?php $p = 0; $k = 1; $t = 16 / 5; do{ $last = $p; $p += $t /$k; $t /= -5 * 5; $k += 2; }while($p != $last); $k = 1; $t = 4 / 239; do{ $last = $p; $p -= $t / $k; $t /= -239 * 239; $k += 2; }while($p != $last); echo $p . "\n";
実行してみます。
php pi1.php 3.1415926535898
求めることが出来ました。