Contenido

Calcula Pi con PHP

20 ene

+ 3

PHP, como curiosidad tiene definida la función pi(), que devuelve una aproximación a esta constante (3.1415926535898), además dispone de una variable constante llamada M_PI que nos devuelve exactamente el mismo valor, limitado a 14 decimales. Pero si somos una persona que nos gusta complicarnos la vida, o simplemente presentarnos al proximo concurso de recordadores de decimales de PI, esta es nuestra función,… Alvy, esto va por ti :D


function bcpi($precision=30, $accuracy=21){
        bcscale($precision);
        $n = 1;
        $bcatan1 = 0;
        $bcatan2 = 0;
        while($n < $accuracy){
//atan functions
                $bcatan1 = bcadd($bcatan1, bcmul(bcdiv(pow(-1, $n+1), $n * 2 - 1), bcpow(0.2, $n * 2 -1)));
                $bcatan2 = bcadd($bcatan2, bcmul(bcdiv(pow(-1, $n+1), $n * 2 - 1), bcpow(bcdiv(1,239), $n * 2 -1)));
                ++$n;
        }
        return  bcmul(4,bcsub(bcmul(4, $bcatan1),$bcatan2));
}

Esta formula, no es la más optima, pero si la más fácil. Usa la formula de Machin’s y Series de Taylor.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.