मैं PHP में x दशमलव संख्या तक पीआई के मान की गणना कैसे कर सकता हूं।PHP में अंकों की एक निश्चित संख्या में पीआई की गणना कैसे की जा सकती है?
4 दशमलव अंक
3,141
64 दशमलव अंक
3,141592653589793238462643383279502884197169399375105820974944592
मैं PHP में x दशमलव संख्या तक पीआई के मान की गणना कैसे कर सकता हूं।PHP में अंकों की एक निश्चित संख्या में पीआई की गणना कैसे की जा सकती है?
4 दशमलव अंक
3,141
64 दशमलव अंक
3,141592653589793238462643383279502884197169399375105820974944592
पीएच में पीआई की गणना?
क्यों गणना करें जब हमारे पास पहले से ही M_PI
स्थिर है?
M_PI
मूल्य 3.14159265358979323846
है।
पीआई के लिए 10000 दशमलव स्थान काफी संख्या है।
स्पष्ट रूप से आप php.ini में 'pi()'/'M_PI' की परिशुद्धता सेट कर सकते हैं। यकीन नहीं है कि यह 11^एच 100 के हालांकि जाता है। :) http://php.net/manual/en/function.pi.php – deceze
बहुत बुरा, जाहिर है, यह केवल मेरे सिस्टम पर कम से कम 48 हो जाता है। :) – deceze
काम करने के लिए धोखा देने के लिए धन्यवाद! – mauris
पीएचपी एक संख्या है कि लंबे समय के रूप तक मुझे पता है पकड़ कर सकते, लेकिन 22/7 पीआई गणना करने के लिए एक प्राचीन तरीका है, हालांकि है कि किसी भी पीआई लगातार PHP में शामिल की तुलना में बेहतर नहीं होगा । शायद आप एक अभ्यास के रूप में पीआई की एक लंबी स्ट्रिंग आउटपुट करने की कोशिश कर रहे हैं।
22/7 शायद ही सटीक है; मूल PHP स्थिरता किसी दिए गए सिस्टम पर सटीक सटीकता के लिए कम से कम सटीक है। – Dan
टूटी हुई लिंक @ कोनामीमन पोस्ट करने के लिए स्रोत मिला।
परिणामों की तुलना में: http://www.angio.net/pi/digits/50.txt और वे वही हैं।
// 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);
आप Chudnosky श्रृंखला के द्वारा पाई गणना कर सकते हैं। यदि आपके पास एक बहुत उच्च रैम वाला सर्वर है तो आप आसानी से पीआई को कई दशमलव स्थानों पर गणना कर सकते हैं। यदि आप इसे किसी विशिष्ट दशमलव स्थान पर प्राप्त करना चाहते हैं, तो वास्तव में बड़ी संख्या में प्रयासों को बढ़ाएं और substr का उपयोग अपने आवश्यक दशमलव स्थान पर छोटा करने के लिए करें। अगर आपको लगता है कि यह प्रक्रिया बहुत धीमी है, तो आप इसे Google पर खोजकर पीआई मान प्राप्त कर सकते हैं।
यह यह करने के लिए श्रृंखला के रूप में धीरे-धीरे अभिसरण एक बहुत ही धीमी गति से रास्ता है। –
@Salixalba आप देख सकते हैं, मैं वहाँ लिखा है '... एक बहुत ही उच्च राम के साथ एक सर्वर ...'। –
http://en.wikipedia.org/wiki/Leibniz_formula_for_%CF%80 श्रृंखला के प्रत्यक्ष योग का उपयोग कर 10 सही दशमलव स्थानों के लिए π की गणना कर रहा से 5000000000 के बारे में संदर्भ की आवश्यकता है। समस्या पर अधिक राम फेंकने http://en.wikipedia.org/wiki/Approximations_of_%CF%80 पर उन जैसे एक अलग सूत्र कोशिश करने के लिए ज्यादा बेहतर मदद नहीं करेगा –
मुख्य समस्या 100i दशमलव संख्या तक pi के मान की गणना कर रही है ... – d3vdpro
Nit picky, लेकिन '3' दशमलव स्थिति में नहीं है (दशमलव बिंदु के बाद एक अंक स्थिति, '.'), तो उन संख्याओं क्रमशः केवल 3 और 63 दशमलव अंक हैं। – ajp15243