PPCG उपयोगकर्ताओं को इस चुनौती के निर्माण के साथ मदद की, चैट में और सैंडबॉक्स, विशेष रूप से दोनों का एक बहुत मार्टिन Ender , AdmBorkBork , Emigna और user202729
हमारे समुदाय ने विशेष रूप से गोल्फिंग, "गोल्फिंग भाषाओं" के लिए डिज़ाइन की गई भाषाओं का एक सेट बनाने के लिए आवश्यक पाया है क्योंकि हम उन्हें कहते हैं। इस तरह की भाषाएं एक बार शानदार, अब क्लंकी गॉकेटस्क्रिप्ट से जेली और हस्क जैसी चिकना संक्षिप्त भाषाओं में विकसित हुई हैं । जैसा कि हम देख सकते हैं, ये भाषाएं लगातार कार्यों के सेट के लिए छोटी और छोटी हो रही हैं। तो, गोल्फिंग भाषाओं के बारे में यहाँ के स्पष्ट विशेषज्ञों के रूप में, हमें प्रतिस्पर्धा करने की हिम्मत रखने वाली हर दूसरी भाषा को हराने के लिए एक भाषा को एक साथ डिज़ाइन करना चाहिए। पेश है बिगुल!
बिगुल: परिवर्णी शब्द से BuGoL: बू ILT जाओ lfing एल anguage।
यह चुनौती कैसे काम करेगी
यदि आपको वह नहीं मिला है जो मैं परिचय में प्रस्तुत कर रहा हूं, तो यह चुनौती एक जवाब देने वाली चुनौती है, जहां हम प्रत्येक नई गोल्फिंग भाषा के व्याख्याकार के लिए कुछ योगदान करते हैं, प्रत्येक उत्तर के साथ पीपीसीजी पर प्रतिस्पर्धा करने की अपनी क्षमता में सुधार करते हैं।
मैं पहले उत्तर को भाषा की युक्ति / दुभाषिया के आधार से मिलकर पोस्ट करूंगा, और अन्य सभी उत्तर उसी से जारी रहेंगे। नई प्रस्तुतियाँ निम्नलिखित चीजें प्रदान करेंगी:
- भाषा की कल्पना में बदलाव
- एक अप-टू-डेट दुभाषिया, जो वास्तव में बदलावों में निर्धारित किया गया है , पूरा करना
- भाषा का अपडेट किया गया स्कोर (बिट में अधिक विवरण)
आप तीन तरीकों में से एक में युक्ति बदल सकते हैं:
- आप एकल आदेश जोड़ सकते हैं
- आप दो नई कमांड जोड़ सकते हैं
- आप एक मौजूदा कमांड के व्यवहार को संपादित कर सकते हैं
नए इंटरप्रेटर के बारे में, आपको पायथन में लिखे गए नवीनतम संस्करण का उपयोग करना होगा । यह गोल्फ नहीं है। प्रत्येक पहले जोड़े गए कमांड को नवीनतम दुभाषिया के साथ-साथ नवीनतम कमांड (जो आप जोड़ते हैं) के साथ परीक्षण योग्य होना चाहिए। दुभाषिया को अपडेट करते समय किसी भी बिंदु पर आपत्तिजनक भाषा का उपयोग नहीं करना चाहिए, जैसे कि टिप्पणी या स्ट्रिंग शाब्दिक आदि।
जोड़ा गया कमांड कुछ भी आपकी इच्छा के अनुसार हो सकता है । केवल आवश्यकताएं हैं:
- यह आक्रामक उत्पादन नहीं करता है
- यह एक और कमांड के समान नहीं है
- यह नमूना चुनौतियों में से एक को पूरा होने से नहीं रोकता है
इन के अलावा, यह विशिष्ट या सामान्य के रूप में आप चाहते हैं के रूप में हो सकता है। यह आपके द्वारा चाहा जाने वाला कोई भी चरित्र भी हो सकता है । यदि आप सुनिश्चित नहीं हैं कि आपका जोड़ एक 'नई कमांड' है, तो टिप्पणी में पूछने के लिए स्वतंत्र महसूस करें।
भाषा का अंक
आपने देखा होगा कि आपको सभी नए सबमिशन में भाषा का स्कोर शामिल करना होगा। इसका स्कोर वही है जो इस चुनौती को हमेशा के लिए रोकता है, और इसे निम्नानुसार परिभाषित किया गया है:
वर्तमान स्कोर बाइट काउंट का योग है जो भाषा को नीचे दिए गए 20 कार्यों को पूरा करने के लिए लेता है
प्रत्येक कार्य के लिए, मानक I / O नियम लागू होते हैं , जैसा कि मानक कमियां हैं ।
20 कार्य:
- "नमस्ते दुनिया!" - स्ट्रिंग को आउटपुट करें
Hello, World!
- 1, 2, Fizz, 4, Buzz - प्रत्येक पूर्णांक को अलग लाइन पर 1 से 100 (समावेशी) से आउटपुट करता है, जिसमें 3 के गुणकों को प्रतिस्थापित किया जा रहा है
Fizz
, 5 के गुणकों को प्रतिस्थापित किया जा रहा हैBuzz
और दोनों के गुणकों को गुणा करकेFizzBuzz
- अपने स्रोत कोड में किसी भी संख्या के बिना नंबर 2014 का उत्पादन करें - स्रोत कोड में किसी भी वर्ण का उपयोग किए बिना नंबर 2014 का उत्पादन करें
0123456789
, बाहरी चर या यादृच्छिक बीज तक पहुंच के बिना। - अस्पष्ट नमस्ते विश्व - आउटपुट स्ट्रिंग
Hello, World!
, निम्नलिखित सेट के कम से कम दो में पात्रों में से किसी का उपयोग किए बिना:hlwd
,eor01
और27
(केस-संवेदी) अपनी पसंदीदा प्रोग्रामिंग भाषा में जन्मदिन की शुभकामनाएं गाएं - अपनी पसंद की भाषा में, निम्नलिखित का उत्पादन करें:
Happy Birthday to You Happy Birthday to You Happy Birthday Dear [the name of your favourite programming language] Happy Birthday to You
हम गोल्फ को कोड करने के लिए कोई अजनबी नहीं हैं, आप नियमों को जानते हैं, और इसलिए मैं - "नेवर गोना गिव अप" के पूर्ण गीत का उत्पादन करता हूं
- साइन को आउटपुट करें - एक संख्या को देखते हुए, -1 नकारात्मक होने पर प्रिंट करें , 0 यदि यह सकारात्मक है तो 0 या 1 है
- Collatz Conjecture (OEIS A006577) - एक पूर्णांक से शुरू, इसे 2 से विभाजित करें यदि यह सम है, या इसे 3 से गुणा करें और यदि यह विषम है, तो 1 को जोड़ें और जब तक आप नहीं पहुंचते, तब तक प्रक्रिया को दोहराएं। आउटपुट 1 पुनरावृत्तियों की संख्या होनी चाहिए। आपको 1 तक पहुँचने में मदद करता है।
- चुनौतियां # 1 की एक सरणी: वैकल्पिक सारणियां - पूर्णांक की एक सरणी को देखते हुए, जांचें कि क्या सभी समान-अनुक्रमित आइटम समान हैं, और सभी विषम-अनुक्रमित आइटम समान हैं, और तदनुसार एक सत्य या गलत मूल्य का उत्पादन करते हैं
- क्या मैं एक तुच्छ सरणी हूँ? - पूर्णांक की एक सरणी को देखते हुए, जांचें कि क्या निरंतर तत्वों के बीच पूर्ण अंतर सभी 1 के बराबर या उससे छोटा है, और तदनुसार एक सत्य या मिथ्या मान आउटपुट करता है
- क्या यह संख्या एक प्रमुख है? - एक सकारात्मक पूर्णांक को देखते हुए, यह जांचने के लिए कि क्या यह प्रमुख है, एक पूर्ण कार्यक्रम लिखें और उसके अनुसार एक सत्य या मिथ्या मूल्य का उत्पादन करें
- मैं एक पलिंद हूं। क्या आप? - एक स्ट्रिंग को देखते हुए, जांचें कि क्या यह पैलिंड्रोम है, जबकि आपका प्रोग्राम / फ़ंक्शन भी पैलिंड्रोम है, और आउटपुट दो अलग और सुसंगत मूल्यों के अनुसार है
- मानक पर संख्याओं में योग करें - STDIN से संख्याओं की एक श्रृंखला लें और उनका योग आउटपुट करें।
- फैक्टरियल खोजें - एक पूर्णांक को देखते हुए
n
, सभी पूर्णांकों के बीच1
औरn
समावेशी के उत्पाद का उत्पादन करें । - अनंत आउटपुट का उत्पादन करने के लिए सबसे छोटा कोड - बिना किसी इनपुट के, अनंत आउटपुट का उत्पादन करते हैं, अर्थात्, सैद्धांतिक रूप से, आउटपुट को कभी भी बंद न करें।
- पाई का एक टुकड़ा सेंकना - इस सटीक पाठ का उत्पादन:
()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
\::\433832|
\::\79502|
\::\8841|
\::\971|
\::\69|
\::\3|
\__\|
- सबसे छोटी संख्या का पता लगाएं जो एन को विभाजित नहीं करता है - एक सकारात्मक पूर्णांक एन को देखते हुए, सबसे छोटा सकारात्मक पूर्णांक उत्पन्न करता है जो एन को विभाजित नहीं करता है।
- यह या भी अजीब है? - पूर्णांक N को देखते हुए, इसकी समता को सत्य / मिथ्या मान के रूप में आउटपुट करें।
- कोड के समान लंबाई के साथ आउटपुट - सबसे छोटा कोड लिखें जिसका आउटपुट कोड के समान लंबाई है, जहां आउटपुट कोड के समान नहीं है।
- आप महान के लिए एक रानी गोल्फ! - अपनी भाषा में सबसे छोटी रानी लिखें ।
मान्य होने के लिए, एक नई सबमिशन में कम से कम 2 समस्याओं के लिए प्रत्येक के लिए कम से कम 1 बाइट के साथ गोल्फ सबमिशन होना चाहिए । आप अन्य सबमिशन की लंबाई बढ़ा सकते हैं, लेकिन कुल स्कोर में प्रति उत्तर कम से कम 2 की कमी होनी चाहिए । इसके अलावा, कृपया अद्यतित कार्यक्रमों के लिंक सहित विचार करें। इंटरप्रेटर के पिछले संस्करण के साथ चलने पर अद्यतन समाधान काम नहीं करना चाहिए ।
कुकीज़ कैसे प्राप्त करें
मेरे पास 5 चुनौतियों की एक सूची है, जो प्रयास करने के लिए अनिवार्य नहीं हैं, और आपके स्कोर पर कोई असर नहीं पड़ता है, लेकिन बस यह परीक्षण करने के लिए अतिरिक्त चुनौतियां हैं कि क्या बुगले पर्याप्त सक्षम है। अपने उत्तर में इनमें से किसी भी संख्या में समाधान शामिल करने के लिए स्वतंत्र महसूस करें:
- सेल्फ इंटरप्रेटर बनाएं
- पेलोड सक्षम क्वीन बनाएं
- एक तार को परिभाषित करें
- हाइपरप्रोग्रामिंग: एन + एन, एन × एन, एन ^ एन सभी एक में
- "नोट" या "नहीं"?
विवरण शामिल नहीं है क्योंकि वे चुनौती में प्रतिस्पर्धा करने में सक्षम होने के लिए सभी के लिए आवश्यक नहीं हैं।
कैसे जीतें
एक बार न्यूनतम स्कोर ( हम 16 का होना मानते हैं , हालांकि गोल्फ के किसी भी प्रयास का बहुत स्वागत किया गया है) तक पहुंचा गया है, जाहिर है कि श्रृंखला समाप्त हो गई है क्योंकि समाधान बेहतर स्कोर प्राप्त नहीं कर सकते हैं। एक बार 16 तक पहुँचने के बाद, चुनौती 1 महीने बाद तक जीवित रहती है , किसी को भी किसी भी तरह से घोल को गोल करने का मौका देने के लिए। यह महीना बीत जाने के बाद यह चुनौती खत्म हो गई है।
एक बार चुनौती खत्म हो जाने के बाद, मैं एक GitHub रिपॉजिटरी में दुभाषिया पर माइग्रेट हो जाऊंगा, और एक स्थिर भाषा जारी करने के सामान्य मशीनों से गुजरूंगा। आप उक्त भाषा का उपयोग करते हुए, इस समय पीपीसीजी पर चुनौतियों का समाधान करना शुरू कर सकते हैं, लेकिन कृपया जवाब के साथ फ्रंट पेज को बाढ़ने की कोशिश न करें। इसके बजाय, उन्हें समय की अवधि में फैलाएं।
का प्रारूपण
अपने उत्तर में जानकारी को आसान बनाने के लिए, कृपया इसे निम्नानुसार प्रारूपित करें:
# [N]. [Score]
[New command + description]
[Interpreter/link to interpreter]
[Link to programs]
[N]
आपकी उत्तर संख्या कहां है (पहले के लिए 1, दूसरे के लिए 2 आदि)
नियम
- जवाब पोस्ट करने के बीच आपको 3 घंटे इंतजार करना होगा
- आप एक पंक्ति में दो बार पोस्ट नहीं कर सकते, जब तक कि कोई जवाब 10 दिनों के लिए पोस्ट नहीं किया गया हो (बिल्कुल 240 घंटे)
- आप पिछले आदेशों को नहीं हटा सकते।
- आपके दुभाषिए को गोल्फ नहीं देना है, और इसकी बाइट की गिनती पूरी तरह से अप्रासंगिक है।
- यदि कोई व्यक्ति गोल्फ को कार्यक्रमों का सुझाव देता है जबकि आपका उत्तर नवीनतम है, तो आपको गोल्फ में संपादित करना होगा , और अपने स्कोर को अपडेट करना होगा।
- आप ऐसा तब भी कर सकते हैं जब आपका जवाब श्रृंखला के बीच में हो, जब तक कि आपका स्कोर बाद के किसी भी उत्तर से कम न हो जाए।
- कृपया इस भाषा का उपयोग करते हुए किसी भी मौजूदा पीपीसीजी चुनौतियों का जवाब देने से बचना चाहिए, कम से कम जब तक चुनौती खत्म न हो जाए
- दुभाषिया पायथन 3 में लिखा गया है, और पूरी श्रृंखला में इस तरह से जारी रहना चाहिए। भाषा बदलना मना है।
- फिर से, मान्य होने के लिए, एक नई सबमिशन में प्रत्येक के लिए कम से कम 1 बाइट द्वारा, समस्याओं के कम से कम 2 के लिए गोल्फ सबमिशन होना चाहिए ।
आएँ शुरू करें!
Hello, World!
, तो यह 19 बाइट्स है। लेकिन अगर खाली प्रोग्राम का व्यवहार बदल जाता है, तो इनपुट पर निर्भर होकर, इसे कम किया जा सकता है
for
लूप) की अनुमति है, और जोड़ने के लिए प्रोत्साहित किया जाता है