श्रृंखला के बारे में
सबसे पहले, आप इसे किसी अन्य कोड गोल्फ चुनौती की तरह मान सकते हैं, और श्रृंखला के बारे में चिंता किए बिना इसका जवाब दे सकते हैं। हालांकि, सभी चुनौतियों के बीच एक लीडरबोर्ड है। आप लीडरबोर्ड के साथ पहली पोस्ट में श्रृंखला के बारे में कुछ और जानकारी पा सकते हैं ।
यद्यपि मेरे पास श्रृंखला के लिए विचारों का एक समूह है, लेकिन भविष्य की चुनौतियां अभी तक पत्थर में सेट नहीं हैं। यदि आपके कोई सुझाव हैं, तो कृपया मुझे संबंधित सैंडबॉक्स पोस्ट पर बताएं ।
छेद 4: बर्ट्रेंड विरोधाभास
बर्ट्रेंड विरोधाभास एक दिलचस्प समस्या यह है, जो पता चलता है एक सर्कल में यादृच्छिक chords उठा chords, उनके मध्य बिन्दुओं और उनके लंबाई के विभिन्न वितरण उपज कर सकते हैं के लिए कैसे अलग अलग तरीकों।
इस चुनौती में आपको "सही" विधि का उपयोग करके यूनिट सर्कल के यादृच्छिक chords उत्पन्न करने वाले हैं, अर्थात एक जो chords का वितरण पैदा करता है जो स्केलिंग और अनुवाद के तहत अपरिवर्तनीय है। लिंक किए गए विकिपीडिया लेख में, "विधि 2" एक ऐसी विधि है।
यहाँ सटीक नियम हैं:
- आपको एक सकारात्मक पूर्णांक
N
लेना चाहिए जो निर्दिष्ट करता है कि कितने chords को लौटाया जाना चाहिए। आउटपुट कोN
कॉर्ड की एक सूची होनी चाहिए , प्रत्येक को यूनिट सर्कल पर दो बिंदुओं के रूप में निर्दिष्ट किया गया है, जो कि रेडियन में उनके ध्रुवीय कोण द्वारा दिए गए हैं। - आपका कोड दो कोणों में से प्रत्येक के लिए कम से कम 2 20 विभिन्न मूल्यों को वापस करने में सक्षम होना चाहिए । यदि आपके उपलब्ध आरएनजी में एक छोटी सी सीमा है, तो आपको पहले बिल्ट-इन एक के ऊपर पर्याप्त रूप से बड़ी रेंज के साथ एक आरएनजी का निर्माण करना होगा या आपको अपने उपयुक्त आरएनजी को लागू करना होगा । यह पृष्ठ उसके लिए सहायक हो सकता है।
- लिंक का विकिपीडिया लिंक विकिपीडिया में "विधि 2" द्वारा निर्मित एक से अप्रभेद्य होना चाहिए। यदि आप chords चुनने के लिए एक अलग एल्गोरिथ्म लागू करते हैं, तो कृपया शुद्धता का प्रमाण शामिल करें। आप जो भी एल्गोरिदम लागू करने का चयन करते हैं, वह सैद्धांतिक रूप से यूनिट सर्कल में किसी भी मान्य कॉर्ड को उत्पन्न करने में सक्षम होना चाहिए (अंतर्निहित PRNG या सीमित-सटीक डेटा प्रकारों की सीमाओं को छोड़कर)।
- आपके कार्यान्वयन को फ़्लोटिंग-पॉइंट नंबरों (कम से कम 32 बिट्स वाइड) या फिक्स्ड-पॉइंट नंबर्स (कम से कम 24 बिट्स वाइड) का उपयोग करना चाहिए और सभी 16 मिथक के भीतर सभी अंकगणितीय ऑपरेशन सटीक होने चाहिए ।
आप एक पूर्ण प्रोग्राम या फ़ंक्शन लिख सकते हैं और STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट ले सकते हैं और STDOUT (या निकटतम विकल्प), फ़ंक्शन रिटर्न मान या फ़ंक्शन (आउट) पैरामीटर के माध्यम से आउटपुट का उत्पादन कर सकते हैं।
आउटपुट किसी भी सुविधाजनक सूची या स्ट्रिंग प्रारूप में हो सकता है, जब तक कि व्यक्तिगत संख्या स्पष्ट रूप से अलग-अलग हो और उनकी कुल संख्या हमेशा समान हो।
यह कोड गोल्फ है, इसलिए सबसे छोटा सबमिशन (बाइट्स में) जीतता है। और निश्चित रूप से, प्रति उपयोगकर्ता सबसे कम सबमिशन भी श्रृंखला के समग्र लीडरबोर्ड में प्रवेश करेगा।
दृश्य
आप जेनरेट की गई लाइनों को रेंडर करने और उनके वितरण का निरीक्षण करने के लिए निम्नलिखित स्निपेट का उपयोग कर सकते हैं। बस टेक्स्ट क्षेत्र में कोणों के जोड़े की एक सूची पेस्ट करें। स्निपेट लगभग किसी भी सूची प्रारूप को संभालने में सक्षम होना चाहिए, जब तक कि संख्या सरल दशमलव संख्या (कोई वैज्ञानिक संकेतन) न हो। मेरा सुझाव है कि वितरण का अच्छा विचार प्राप्त करने के लिए आप कम से कम 1000 लाइनों का उपयोग करें। मैंने नीचे लेख में प्रस्तुत विभिन्न विधियों के लिए कुछ उदाहरण डेटा भी प्रदान किए हैं।
विधि 1 के साथ उत्पन्न उदाहरण डेटा।
विधि 2 के साथ उत्पन्न उदाहरण डेटा ।
विधि 3 के साथ उत्पन्न उदाहरण डेटा।
लीडरबोर्ड
श्रृंखला की पहली पोस्ट एक लीडरबोर्ड उत्पन्न करती है।
यह सुनिश्चित करने के लिए कि आपके उत्तर दिखाए गए हैं, कृपया प्रत्येक मार्कलाइन के साथ निम्नलिखित मार्केड टेम्प्लेट का उपयोग करके प्रत्येक उत्तर को शुरू करें:
# Language Name, N bytes
N
आपके सबमिशन का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:
# Ruby, <s>104</s> <s>101</s> 96 bytes
(भाषा को वर्तमान में नहीं दिखाया गया है, लेकिन स्निपेट को इसकी आवश्यकता है और इसे पार्स करें, और मैं भविष्य में एक उप-भाषा लीडरबोर्ड जोड़ सकता हूं।)