एक फ़ंक्शन या पूर्ण प्रोग्राम लिखें जो एक सकारात्मक संख्या लेता है n
और n
एक गणना एल्गोरिथ्म के चरणों को करता है or जिसकी गणना द्विघात अभिसरण है (अर्थात यह प्रत्येक पुनरावृत्ति पर सटीक अंकों की संख्या को लगभग दोगुना करता है) फिर 2 n सही अंक देता है या प्रिंट करता है (सहित) शुरुआत 3)। ऐसा ही एक एल्गोरिथ्म गॉस-लीजेंड एल्गोरिथ्म है , लेकिन यदि आप चाहें तो आप एक अलग एल्गोरिथ्म का उपयोग करने के लिए स्वतंत्र हैं।
उदाहरण:
इनपुट 1
→ आउटपुट 3.1
इनपुट 2
→ आउटपुट 3.141
इनपुट 5
→ आउटपुट3.1415926535897932384626433832795
आवश्यकताएँ:
- एल्गोरिथ्म के प्रत्येक पुनरावृत्ति को बुनियादी संख्याओं जैसे कि जोड़, घटाव, गुणा, भाग, शक्ति और मूल (पूर्णांक प्रतिपादक / डिग्री के साथ) की एक निरंतर संख्या करनी चाहिए - प्रत्येक ऐसे ऑपरेशन को "बड़े" पूर्णांक / दशमलव संख्याओं में गिना जाता है। यदि इसमें आंतरिक रूप से एक या अधिक लूप शामिल हैं। स्पष्ट होने के लिए, जटिल संख्याओं वाले त्रिकोणमितीय फ़ंक्शंस और शक्तियाँ बुनियादी संचालन नहीं हैं।
- एल्गोरिथ्म में एक इनिशियलाइज़ेशन चरण होने की उम्मीद की जाती है जिसमें निरंतर संचालन की संख्या भी होनी चाहिए।
- यदि एल्गोरिथ्म को 2 एन सही अंक प्राप्त करने के लिए 1 या 2 और पुनरावृत्तियों की आवश्यकता है , तो आप
n+2
केवल इसके बजाय पुनरावृत्तियों तक का प्रदर्शन कर सकते हैंn
। - यदि यह पर्याप्त स्पष्ट नहीं था, तो सही 2 n अंकों के बाद, आपके प्रोग्राम को कुछ और प्रिंट नहीं करना चाहिए (जैसे कि अधिक सही अंक, गलत अंक या शेक्सपियर के पूर्ण कार्य)।
- आपके कार्यक्रम को
n
1 से कम से कम 20 के मूल्यों का समर्थन करना चाहिए । - आपके प्रोग्राम को
n
आधुनिक कंप्यूटर पर = 20 के लिए एक घंटे से अधिक नहीं लेना चाहिए (एक कठिन नियम नहीं है, लेकिन इसे उचित रखने की कोशिश करें)। - एल्गोरिथ्म के प्रारंभ और पहले पुनरावृत्ति के बाद कार्यक्रम को 20 से अधिक सटीक अंक प्राप्त नहीं करना चाहिए।
- प्रोग्राम को लिनक्स में स्वतंत्र रूप से उपलब्ध सॉफ्टवेयर का उपयोग करके चलाना चाहिए।
- स्रोत कोड को केवल ASCII वर्णों का उपयोग करना चाहिए।
स्कोरिंग:
सीधा कोड गोल्फ, सबसे छोटा कोड जीतता है।
विजेता:
विजेता डिजिटल ट्रॉमा है, मैंने आखिरकार n = 20 (सिर्फ मजाक) पर अपना कोड चलाना समाप्त कर दिया। विशेष पुरस्कार अपने बहुत तेज़ अजगर समाधान और अलग एल्गोरिथ्म के लिए प्राइमो में जाता है :)
~q^(n^2)
वहां पहले खंड के ~q^2
अनुसार है और वहां 2 खंड के अनुसार है।