चुनौती
प्लास्टिक संख्या सुनहरे अनुपात से संबंधित एक नंबर, कई दिलचस्प गणितीय गुणों के साथ है। जैसे, कई दृष्टिकोण हैं जिनका उपयोग संख्या की गणना करने के लिए किया जा सकता है।
इस चुनौती के प्रयोजनों के लिए संख्या को ठीक से निर्दिष्ट करने के लिए, हम निम्नलिखित परिभाषा का उपयोग करेंगे (हालाँकि इसके समकक्ष परिभाषाएँ बहुत हैं, और आप किसी भी परिभाषा का उपयोग तब तक कर सकते हैं जब तक आप एक ही संख्या में आते हैं):
प्लास्टिक नंबर एक वास्तविक संख्या ρ है जैसे कि ρ ρ = ρ +1।
आपका चुनौती एक कार्यक्रम या समारोह जो एक पूर्णांक लेता है लिखना है एक्स इनपुट के रूप में (के साथ एक्स > 1), और करने के लिए एक सन्निकटन का उत्पादन ρ , आउटपुट के रूप में ऐसी है कि बड़े का मूल्य एक्स हो जाता है, करीब उत्पादन के लिए हो जाता है ρ ( सबसे परिमित कई अपवाद के साथ, इस उद्देश्य के लिए "करीब" के रूप में एक ही मूल्य की गिनती में रह), और किसी भी सकारात्मक संख्या के लिए δ , वहाँ कुछ इनपुट है एक्स आपके प्रोग्राम है जो भीतर एक निर्गम कि के उत्पादन δ की ρ ।
स्पष्टीकरण
- यदि आप एक ऐसी विधि के माध्यम से आउटपुट कर रहे हैं जो स्वाभाविक रूप से स्ट्रिंग्स (जैसे मानक आउटपुट स्ट्रीम) को आउटपुट करता है, तो आप आउटपुट को दशमलव (जैसे
1.3247179572
) या दो पूर्णांकों के अनुपात के रूप में/
उनके बीच के चरित्र के रूप में प्रारूपित कर सकते हैं। - यदि आप अपनी प्रोग्रामिंग भाषा के भीतर एक मूल्य के रूप में आउटपुट कर रहे हैं (उदाहरण के लिए फ़ंक्शन से लौट रहे हैं), तो यह निश्चित-बिंदु, फ़्लोटिंग-पॉइंट या तर्कसंगत प्रकार का होना चाहिए। (विशेष रूप से, आप उन डेटा प्रकारों का उपयोग नहीं कर सकते हैं जो संख्याओं को प्रतीकात्मक रूप से संग्रहीत करते हैं, जब तक कि उनका उपयोग केवल दो पूर्णांकों के अनुपात को रखने के लिए नहीं किया जाता है। इसलिए यदि आप गणितज्ञ या इसी तरह की भाषा का उपयोग कर रहे हैं, तो आपको अतिरिक्त शामिल करने की आवश्यकता होगी। कोड वास्तव में आउटपुट के अंकों को उत्पन्न करता है।)
- आपका उत्तर आपकी भाषा के एक काल्पनिक संस्करण में काम करना चाहिए जिसमें पूर्णांक मनमाने ढंग से बड़े हो सकते हैं, और मेमोरी (स्टैक सहित) असीमित है। आप यह नहीं मान सकते हैं कि आपकी भाषा में फ़्लोटिंग-पॉइंट अंकगणितीय मनमाने ढंग से सटीक है, लेकिन इसके बजाय इसकी वास्तविक सटीकता का उपयोग करना चाहिए (जिसका अर्थ है कि फ़्लोटिंग-पॉइंट संख्या को आउटपुट करना केवल उन भाषाओं में संभव होने जा रहा है, जहाँ फ़्लोटिंग-पॉइंट संख्या की सटीकता हो सकती है रनटाइम पर नियंत्रित)।
- x का कोई भी अर्थ हो सकता है जो आप चाहते हैं (इसलिए जब तक यह अधिक सटीक आउटपुट देता है)। मैं कल्पना करता हूं कि अधिकांश प्रस्तुतियाँ उत्पादन के अंकों की संख्या को नियंत्रित करने के लिए, या आपके प्रोग्राम द्वारा उपयोग किए गए एल्गोरिदम की पुनरावृत्तियों की संख्या को प्लास्टिक नंबर पर परिवर्तित करने के लिए नियंत्रित करेंगी, लेकिन अन्य अर्थ स्वीकार्य हैं।
परीक्षण का मामला
यहाँ प्लास्टिक नंबर के पहले कुछ अंक दिए गए हैं:
1.32471795724474602596090885
OEIS पर अधिक अंक उपलब्ध हैं ।
विजय की स्थिति
कोड-गोल्फ के लिए हमेशा की तरह , कम बेहतर है, बाइट्स में मापा जाता है। हालांकि, जवाब देने के लिए स्वतंत्र महसूस करें भले ही वे जीतें नहीं, इसलिए जब तक वे मौजूदा उत्तरों में कुछ जोड़ते हैं (उदाहरण के लिए एक अलग भाषा, या एक अलग एल्गोरिथ्म)।