Comment puis-je calculer la valeur de pi en PHP jusqu'à X nombres décimaux.Comment pi peut-il être calculé en nombre de chiffres en PHP?
4 décimales
3,141
64 points décimaux
3,141592653589793238462643383279502884197169399375105820974944592
Comment puis-je calculer la valeur de pi en PHP jusqu'à X nombres décimaux.Comment pi peut-il être calculé en nombre de chiffres en PHP?
4 décimales
3,141
64 points décimaux
3,141592653589793238462643383279502884197169399375105820974944592
Calcul de PI en PHP? Pourquoi calculer quand nous avons déjà la constante M_PI
?
M_PI
contient la valeur 3.14159265358979323846
.
10000 décimales pour PI est un nombre assez important.
Apparemment, vous pouvez définir la précision de 'pi()'/'M_PI' dans php.ini. Je ne sais pas si cela va à 11^H 100K si. :) http://php.net/manual/fr/function.pi.php – deceze
Dommage, apparemment ça ne va qu'à 48, sur mon système au moins. :) – deceze
grâce à Deceze pour travailler sur ce point! – mauris
PHP ne peut pas tenir un nombre aussi longtemps pour autant que je sache, mais 22/7 est une ancienne voie de calculer PI, bien que ce ne sera pas mieux que la constante PI inclus dans PHP . Peut-être que vous essayez de sortir une longue chaîne de PI comme exercice.
22/7 est à peine exact; la constante PHP native est au moins précise à la précision possible sur un système donné. – Dan
J'ai trouvé la source du lien rompu @Konamiman.
Comparé aux résultats à: http://www.angio.net/pi/digits/50.txt et ils sont identiques.
// Source: http://mgccl.com/2007/01/22/php-calculate-pi-revisited
function bcfact($n)
{
return ($n == 0 || $n== 1) ? 1 : bcmul($n,bcfact($n-1));
}
function bcpi($precision)
{
$num = 0;$k = 0;
bcscale($precision+3);
$limit = ($precision+3)/14;
while($k < $limit)
{
$num = bcadd($num, bcdiv(bcmul(bcadd('13591409',bcmul('545140134', $k)),bcmul(bcpow(-1, $k), bcfact(6*$k))),bcmul(bcmul(bcpow('640320',3*$k+1),bcsqrt('640320')), bcmul(bcfact(3*$k), bcpow(bcfact($k),3)))));
++$k;
}
return bcdiv(1,(bcmul(12,($num))),$precision);
}
echo bcpi(1000);
Vous pouvez calculer Pi par la série Chudnosky. Si vous avez un serveur avec un bélier très élevé, vous pouvez facilement calculer Pi à plusieurs décimales. Si vous voulez l'amener à un certain nombre de décimales alors, augmentez les efforts à un très grand nombre et utilisez substr pour le raccourcir à la décimale requise. Si vous pensez que ce processus est très lent, alors vous pouvez obtenir la valeur pi en le recherchant sur google.
C'est une façon très lente de le faire car la série converge lentement. –
@Salixalba Pouvez-vous voir, j'ai écrit là '... un serveur avec un RAM très élevé ...'. –
De http://en.wikipedia.org/wiki/Leibniz_formula_for_%CF%80 Calculer π à 10 décimales correctes en utilisant la sommation directe de la série nécessite environ 5.000.000.000 de termes. Lancer plus de RAM sur le problème n'aidera pas beaucoup à essayer une formule différente comme celles de http://en.wikipedia.org/wiki/Approximations_of_%CF%80 –
le problème principal est de calculer la valeur de pi jusqu'à 100000 nombres décimaux ... – d3vdpro
Nit difficile, mais le «3» n'est pas dans une position décimale (une position numérique après la virgule, «.»), De sorte que ces chiffres seulement 3 et 63 chiffres décimaux, respectivement. – ajp15243