एक क्रमचय एक सेट के एक है द्विभाजित समारोह । उदाहरण के लिए, यदि तो फ़ंक्शन क्रमपरिवर्तन है:π : एस → एस एस = { 1 , 2 , 3 , 4 } π : एक्स ↦ 1 + ( एक्स + 1
हम अनंत सेटों पर भी क्रमपरिवर्तन कर सकते हैं, चलो एक उदाहरण के रूप में लेते हैं : फ़ंक्शन एक क्रमपरिवर्तन है, विषम और यहां तक कि स्वैपिंग दो के ब्लॉक में पूर्णांक। पहले तत्व इस प्रकार हैं:
चुनौती
इस चुनौती के लिए आपका कार्य सकारात्मक प्राकृतिक संख्याओं पर किसी भी 1 क्रमचय को लागू करने वाले एक फ़ंक्शन / प्रोग्राम को लिखना है । आपके समाधान का स्कोर कार्यान्वित क्रमपरिवर्तन के साथ मैप करने के बाद कोडपाइंट का योग है।
उदाहरण
मान लीजिए कि हम पायथन के साथ लागू किया गया उपरोक्त क्रमांकन लेते हैं:
def pi(x):
return x - 1 + 2*(x % 2)
चरित्र d
में कोडपॉइंट , । यदि हम हर चरित्र के लिए ऐसा करते हैं, तो हमें यह मिलता है:
इन सभी मैप किए गए पात्रों का योग , यह उस फ़ंक्शन के लिए स्कोर होगा।
नियम
आप एक फ़ंक्शन या प्रोग्राम के रूप में एक क्रमचय को लागू करेंगे
- एक प्राकृतिक संख्या , रिटर्न / आउटपुट
- इस चुनौती के प्रयोजन के लिए करता नहीं होते हैं ०
- क्रमपरिवर्तन गैर-तुच्छ रूप से अनंत उप-क्रम की अनुमति देता है
- आपके कार्य / कार्यक्रम को अपने स्वयं के स्रोत को पढ़ने की अनुमति नहीं है
स्कोरिंग
उस क्रमांक के तहत स्कोर सभी कोडपॉइंट्स (शून्य बाइट्स सोर्स कोड का हिस्सा नहीं हो सकता है) द्वारा दिया जाता है (कोडपॉइंट आपकी भाषा 2 पर निर्भर करते हैं , आप SBCS, UTF-8 आदि का उपयोग करने के लिए स्वतंत्र हैं। आपकी भाषा इसका समर्थन करती है)।
सबसे कम स्कोर जीत के साथ जमा, जल्द से जल्द प्रस्तुत करने से संबंध टूट जाते हैं।
उन अनुमतियों को छोड़कर, जो केवल परिमित सबसेट की अनुमति देती हैं , जिसका अर्थ है कि सेट अनंत होना चाहिए।
यदि यह आपके स्कोर में सुधार करता है, तो आप उदाहरण के लिए सामान्य SBCS के बजाय UTF-8 एन्कोडेड जेली सबमिशन का उपयोग कर सकते हैं।