अधिक कोडिंगटन क्रिसेंट
एक दूसरे प्रयास के लिए कौन है?
यदि आपने कभी रेडियो कार्यक्रम "आई एम सॉरी, आई एम ए क्लू" नहीं सुना है, तो शायद आपने "मॉर्निंगटन क्रीसेंट" नामक गेम के बारे में सुना है। जो नहीं करते हैं, उनके लिए यह एक ऐसा खेल है जहां खिलाड़ी लंदन अंडरग्राउंड नेटवर्क पर यादृच्छिक स्टेशनों का नाम देते हैं। "मॉर्निंगटन क्रिसेंट" नाम का पहला व्यक्ति खेल जीतता है। 1
पिछली बार की तरह , मैं आपको कोडिंगटन क्रीसेंट का एक और खेल प्रस्तुत करता हूं ।
चुनौती
इस चुनौती का विजेता एक कार्यशील कार्यक्रम को पोस्ट करने वाला पहला व्यक्ति है, जिसे सकारात्मक पूर्णांक की एक चर-आकार की सूची दी गई है, उक्त सूची का औसत (अंकगणितीय माध्य) लौटाता है। सूची खाली नहीं होगी और हमेशा कम से कम एक आइटम होगा। इनपुट और आउटपुट किसी भी उचित और सुविधाजनक प्रारूप में दिए जा सकते हैं
परीक्षण के मामलों
[150, 541, 168, 225, 65, 191, 964, 283, 825, 5, 802, 426, 45, 326, 22, 619, 281] => 349.29411764705884
[874, 33, 423, 36, 1000, 255, 345, 902, 700, 141, 916, 959, 222, 246, 96] => 476.53333333333336
[567, 868, 680, 121, 574, 391, 233, 39, 764, 499, 455, 684, 742, 117, 376] => 474.0
[177, 372, 778, 709, 474, 796, 840, 742] => 611.0
[181, 751, 940, 782, 727, 756, 541, 762, 677, 751, 719] => 689.7272727272727
[47, 804, 782, 231, 170] => 406.8
[315, 972] => 643.5
[679, 727] => 703.0
[859, 229, 363, 468, 103, 104, 570, 772, 83, 693, 898, 672, 306, 733, 189, 717, 231] => 470.0
[228, 839] => 533.5
[395, 622, 760, 820, 70, 814, 797, 202, 277, 663, 93, 218, 564, 735] => 502.14285714285717
[724, 631, 932, 333, 605, 880, 670, 468, 703, 744, 680, 28] => 616.5
[950, 733, 305, 178, 995] => 632.2
[762, 506, 553, 284, 499, 694, 665, 998, 576, 504, 123, 658, 943, 385, 354, 732] => 577.25
[151, 919, 514, 721, 426, 333, 808, 514] => 548.25
[995] => 995.0
[891, 243, 42, 968, 458, 372, 301, 269, 559, 394, 980, 372, 804, 429, 738] => 521.3333333333334
[147, 473, 632] => 417.3333333333333
[105, 483, 225, 541, 684, 456, 328] => 403.14285714285717
[311, 1, 770, 417, 910, 185, 375, 631, 226, 266, 609] => 427.3636363636364
नियम
- प्रत्येक खिलाड़ी का अपना कार्यक्रम होता है कि वे वर्णों को जोड़ेंगे / बदलेंगे। इसे उनका रनिंग प्रोग्राम कहा जाता है ।
प्रत्येक उत्तर (एक मोड़ ) को पिछले उत्तरों द्वारा परिभाषित स्रोत प्रतिबंधों का पालन करना होता है। इन्हें नियम कहते हैं । प्रत्येक संस्करण 5 बारी के लिए रहता है । नियम प्रतिबंधित-स्रोत प्रतिबंधों के रूप में हैं।
रनिंग प्रोग्राम, टर्न के बीच भाषा बदल सकते हैं।
उत्तरदाता (खिलाड़ी) या तो जोड़ सकते हैं, बदल सकते हैं या हटा सकते हैं (लेकिन विकल्पों में से केवल एक) उनके चल रहे कार्यक्रम के कई पात्रों को बारी-बारी से पसंद करते हैं। वैकल्पिक रूप से, वे "पास" ( अधिक वैज्ञानिक रूप से , फ़र्कले ) चुन सकते हैं , कोई नया नियम नहीं जोड़ सकते हैं, और फिर भी एक मोड़ के रूप में गिना जा सकता है। यह एकमात्र विकल्प हो सकता है यदि नियम एक दूसरे के साथ संघर्ष करते हैं। टर्न काउंट अभी भी बढ़ा है और पोस्ट किया जाना है। प्रो टिप: आप शायद इसे समुदाय विकी के रूप में चिह्नित करना चाहते हैं क्योंकि यह बहुत कुछ नहीं जोड़ता है।
प्रत्येक मोड़ के अंत में, खिलाड़ी एक नया नियम घोषित करता है जो अगले 5 मोड़ों को पूरा करेगा। नियम वस्तुनिष्ठ होने चाहिए और एक TIO सत्यापन कार्यक्रम अत्यधिक अनुशंसित है। इसके अलावा, नियमों को हर भाषा पर लागू किया जा सकता है (उदाहरण के
Programs must not error using Python 3.4.2लिए एक वैध नियम नहीं है)।खेल तब तक जारी रहता है जब तक कि कोई रनिंग प्रोग्राम लक्ष्य परिणाम प्राप्त नहीं कर लेता।
यदि एक सप्ताह के लिए एक मोड़ नहीं लिया गया है, तो एक अंतर्निहित फ़र्कल होगा। आप एक अंतर्निहित गड़बड़ी के बाद हमेशा एक मोड़ ले सकते हैं, क्योंकि यह एक मोड़ के रूप में गिना जाता है (इसे समुदाय उपयोगकर्ता की बारी के रूप में सोचें)।
नियम शुरू करना
खेल को किक करने के लिए, पहले 5 मोड़ इन नियमों का पालन करना चाहिए:
- टर्न अंतिम लक्ष्य को पूरा नहीं कर सकता है
- न्यूनतम कार्यक्रम की लंबाई 10 बाइट्स है
स्थायी नियम
पिछली बार, यह नोट किया गया था कि निम्नलिखित नियम 5-टर्न नियमों के बजाय एक स्थायी नियम के रूप में बेहतर हैं:
रनिंग प्रोग्राम इरेड्यूबल होना चाहिए। इस मामले में Irreducible का अर्थ है कि यदि पूरे प्रोग्राम के कैरेक्टर हटा दिए जाते हैं तो प्रोग्राम पूरे प्रोग्राम का आउटपुट नहीं देता है। अर्थात। इसमें कोई प्रोग्राम मौजूद नहीं है जिसमें डिफ़ॉल्ट समान आउटपुट है जो मूल प्रोग्राम से वर्णों को निकालकर बनाया जा सकता है।)
एक कार्यक्रम अपनी पहली उपस्थिति के 5 मोड़ के भीतर नहीं जीत सकता है
उदाहरण के नियम
ये विशुद्ध रूप से उदाहरण हैं कि आप चुनौती के नियमों में क्या जोड़ सकते हैं। वे तब तक लागू नहीं होते हैं जब तक कोई उनका उपयोग करने का निर्णय नहीं लेता है।
- रनिंग प्रोग्राम का पहला और आखिरी कैरेक्टर एक स्पेस होना चाहिए
- रनिंग प्रोग्राम में बाइट्स की एक समान राशि होनी चाहिए
- रनिंग प्रोग्राम 30 बाइट से अधिक नहीं होना चाहिए
अतिरिक्त उत्तर चैनिंग नियम
- आप एक पंक्ति में दो बार जवाब नहीं दे सकते। किसी और को जाने से पहले किसी और को जवाब देना होगा।
- मान्य उत्तरों के लिए भाषाओं को ऑनलाइन प्रयास करने की आवश्यकता है।
प्रो-टिप: उत्तर के अधिक सामंजस्यपूर्ण प्रवाह के लिए सबसे पुराना प्रकार
1 मॉर्निंगटन क्रीसेंट का मूल खेल वास्तव में नियम नहीं है ... यह एक ऐसी गतिविधि है जो ऐसा लगता है कि यह एक जटिल खेल है।
उत्तर टेम्पलेट
# [Language], turn number [your turn]
<code>
[Try it online link]
[prev answer link]
## Rules
- Rule (n turns left)
- Rule (n turns left)
- Rule (n turns left)
जवाब
05AB1E , 3 बारी
$XY~sDOsg/*+
(मैं पिछले उत्तर से कैसे जुड़ूं?)
लड़का मैं कोड गोल्फ प्यार करता हूँ!
व्याख्या
$ # Push 1 and input
X # Push 1
Y # Push 2
~ # Converts 1 and 2 to 3
s # Swap to get implicit input
D # Duplicate
O # Sum the list
s # Swap top 2 values and gets the preserved list.
g # Push the length of the list.
/ # Push the quotient of sum and length
* # Multiply with 3
+ # Add with one
वर्तमान नियम
- टर्न अंतिम लक्ष्य को पूरा नहीं कर सकता है - ट्रिपल को औसत से अधिक प्रिंट करता है ( बाएं मुड़ता है! )
- न्यूनतम कार्यक्रम की लंबाई 10 बाइट्स है (3 बायीं ओर) - कार्यक्रम की लंबाई 12 बाइट्स है ( 2 बायीं ओर! )
- कार्यक्रम में ~ वर्ण होना चाहिए - चरित्र को बिट 1 या 2 ( 3 बाएँ छोड़ दिया जाता है! ) को धकेलना चाहिए ।
- प्रोग्राम का औसत बाइट मान 80 से कम या उसके बराबर होना चाहिए - प्रोग्राम का औसत बाइट मान 79.25 (4 बायें मुड़ता है!) है।
नया नियम
ड्रम रोल
कार्यक्रम में 5-10 गैर-अल्फ़ान्यूमेरिक वर्ण (बाएं मुड़ें!) शामिल होना चाहिए
आईओ , 20 बाइट्स
औसत + 1 लौटाता है।
method(~,~average+1)
नियम
पहले 5 मोड़ इन नियमों का पालन करना चाहिए:
- टर्न अंतिम लक्ष्य को पूरा नहीं कर सकता है
- न्यूनतम कार्यक्रम की लंबाई 10 बाइट्स है
यह सभी चल रहे कार्यक्रमों के लिए लागू होता है:
रनिंग प्रोग्राम इरेड्यूबल होना चाहिए। इस मामले में Irreducible का अर्थ है कि यदि पूरे प्रोग्राम के कैरेक्टर हटा दिए जाते हैं तो प्रोग्राम पूरे प्रोग्राम का आउटपुट नहीं देता है। अर्थात। इसमें कोई प्रोग्राम मौजूद नहीं है जिसमें डिफ़ॉल्ट समान आउटपुट है जो मूल प्रोग्राम से वर्णों को निकालकर बनाया जा सकता है।)
एक कार्यक्रम अपनी पहली उपस्थिति के 5 मोड़ के भीतर नहीं जीत सकता है
नए नियम:
- कार्यक्रम में
~चरित्र होना चाहिए
पायथन 3 , 23 बाइट्स, 2 बारी
lambda l:sum(l)/~len(l)
फ़्लोट्स की सूची के रूप में इनपुट; एक फ्लोट के रूप में आउटपुट।
नियम
स्थायी नियम:
रनिंग प्रोग्राम इरेड्यूबल होना चाहिए। इस मामले में Irreducible का अर्थ है कि यदि पूरे प्रोग्राम के कैरेक्टर हटा दिए जाते हैं तो प्रोग्राम पूरे प्रोग्राम का आउटपुट नहीं देता है। अर्थात। इसमें कोई प्रोग्राम मौजूद नहीं है जिसमें डिफ़ॉल्ट समान आउटपुट है जो मूल प्रोग्राम से वर्णों को निकालकर बनाया जा सकता है।)
एक कार्यक्रम अपनी पहली उपस्थिति के 5 मोड़ के भीतर नहीं जीत सकता है
वर्तमान नियम:
- टर्न अंतिम लक्ष्य को पूरा नहीं कर सकता है (3 बायें मुड़ता है)
- न्यूनतम कार्यक्रम की लंबाई 10 बाइट्स (3 बायीं ओर) है
- प्रोग्राम में
~वर्ण होना चाहिए (4 बाएं मुड़ें)
मेरा नया नियम:
- प्रोग्राम का औसत बाइट मान 80 से कम या उसके बराबर होना चाहिए। ( सत्यापनकर्ता )
Befunge-98 (PyFunge) , 13 बाइट्स, 5 बारी
(बारी 4 एक अंतर्निहित झक्की था)
"PDPF"4(~FP@
यह उत्तर जीतने से दूर है, लेकिन मैं कुछ पात्रों को शामिल कर रहा हूं, इस भाषा में एक औसत कार्यक्रम की आवश्यकता होगी, और चुनौती को जीवित रखना होगा।
नियम:
- कार्यक्रम अंतिम लक्ष्य को पूरा नहीं कर सकते हैं (अंतिम मोड़)
- न्यूनतम कार्यक्रम की लंबाई 10 बाइट्स (अंतिम मोड़) है
- कार्यक्रम में ~ वर्ण होना चाहिए (1 बारी बाएं)
- प्रोग्राम का औसत बाइट मान 80 से कम या उसके बराबर होना चाहिए। (2 बायीं ओर)
- कार्यक्रम में 5-10 गैर-अल्फ़ान्यूमेरिक वर्ण (बाएं मुड़ें!) शामिल होना चाहिए
- प्रोग्राम में लगातार 2 लोअरकेस अक्षर नहीं हो सकते हैं (5 बाएँ मुड़ते हैं)