मैं किसी स्क्रिप्ट से दशमलव स्थानों की पाई को कैसे उत्पन्न कर सकता हूं?


9

क्या किसी के पास एक स्क्रिप्ट है जिसे मैं आसानी से चला सकता हूं:

sh generatepi.sh 10000

जहाँ 10000 उत्पन्न π (Pi) दशमलव स्थानों की संख्या है।


7
किस लिए? यदि आपको केवल अंकों की आवश्यकता है: wolframalpha.com/input/?i=N%5BPi%2C+10000%5D
cYrus

जवाबों:


19

मान लिया जाये कि आप bc(बेसिक कैलक्यूलेटर) आपके सिस्टम पर उपयोगिता, आप 10,000 दशमलव स्थानों के लिए π की गणना करने के लिए निम्न आदेश और अच्छे पुराने गणित का एक सा इस्तेमाल कर सकते हैं:

echo "scale=10000; 4*a(1)" | bc -l

संभवतः 10,000 दशमलव स्थानों को पूरा करने में काफी समय लगेगा।

आदेश को तोड़ते हुए ...

  • स्केल = 10000 - यह परिणाम के लिए उपयोग करने के लिए दशमलव स्थानों की संख्या को निर्दिष्ट करता है
  • 4 * a (1) - यह 1 का आर्कषक रिटर्न देता है [जो 45 °: 45 x (, / 180), या)] के बराबर होता है और फिर to प्राप्त करने के लिए 4 से गुणा करता है।
  • bc -l - bc यूटिलिटी में फुल फंक्शन स्ट्रिंग को पाइप करता है , -l arctangent फ़ंक्शन, () के लिए आवश्यक मानक गणित लाइब्रेरी लोड करने के लिए निर्दिष्ट करता है ।

अपने प्रश्न में निर्दिष्ट स्क्रिप्ट में इसे लपेटने के लिए, अपने पसंदीदा संपादक का उपयोग निम्नलिखित लिखने के लिए करें और इसे इस प्रकार सहेजें generatepi.sh:

#!/bin/bash
echo "scale=$1; 4*a(1)" | bc -l

फिर chmod +x generatepi.shउस फोल्डर से एक टर्मिनल उपयोग से आपने फाइल को सेव किया, जो स्क्रिप्ट एक्जीक्यूशन राइट्स देगा। सिंटेक्स तो है generatepi.sh [number of places]। ध्यान दें कि यह मापदंडों को संभालने का एक बहुत ही मूल तरीका है और इनपुट को मान्य नहीं करेगा, इसलिए सुनिश्चित करें कि आप इसे केवल एक पैरामीटर के रूप में सकारात्मक पूर्णांक पास करते हैं।

अधिकांश लिनक्स सिस्टम में होना चाहिए, bcलेकिन आपको इसे कुछ मामलों में स्थापित करने की आवश्यकता हो सकती है (उदाहरण के लिए उबंटू पर, गेंटू आदि पर उभरना )। विंडोज के लिए bc का पोर्ट भी है


वहाँ विडो के लिए स्थानीय अनुकरणीय कैलकुलेटर है - ओवरक्लॉकर स्थिरता परीक्षण के लिए उन्हें इस्तेमाल
जर्नीमैन गीक

~ 3min मेरी मशीन पर, एक स्क्रिप्ट में बहुत बेकार। +1 हालांकि उपयोग के लिए bc
cYrus

मुझे लगता है कि "b" में "b" का अर्थ "बेंच" के बजाय "बर्कले" है।
user1364368

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.