इस चुनौती में आपको दो गुणों को पूरा करने वाले किसी भी कार्य (या पूर्ण कार्यक्रम) को लागू करने के लिए कहा जाएगा। वे गुण हैं:
आपका कार्य बहुपद से गैर-ऋणात्मक पूर्णांकों के गैर-ऋणात्मक पूर्णांकों के साथ बहुपद से एक इंजेक्शन (प्रतिवर्ती) कार्य होना चाहिए। इसका मतलब है कि कोई भी दो असमान इनपुट समान आउटपुट के लिए मैप नहीं कर सकते हैं।
आपके फ़ंक्शन को इनपुट से इसके आउटपुट तक "बिट्स" की कुल संख्या को संरक्षित करना होगा। इसका मतलब है कि यदि आप बहुपद के प्रत्येक गुणांक के 1 बिट्स की गणना करते हैं, तो उनका योग आउटपुट के बाइनरी प्रतिनिधित्व में 1 बिट की संख्या के समान होना चाहिए। उदाहरण के लिए
9
है1001
तो यह 2 है बाइनरी में1
बिट्स।
आईओ
एक गैर-नकारात्मक पूर्णांक बहुपद गैर-ऋणात्मक पूर्णांकों की अनंत सूची के समान है, जो एक निश्चित बिंदु के बाद सभी पूर्णांक शून्य होते हैं। इस प्रकार, बहुपद को या तो अनंत सूचियों द्वारा दर्शाया जा सकता है (हालाँकि यह शायद अवांछनीय है) या सूची के अंत के बाद निहित शून्य के साथ परिमित सूचियों द्वारा।
बहुपद और परिमित सूची के बीच प्रमुख अंतर यह है कि एक सूची के अंत में एक शून्य जोड़ने से सूची बदल जाएगी:
एक बहुपद के अंत में एक शून्य जोड़ने पर इसका मान नहीं बदलता है:
इस प्रकार यदि आपका कार्य इनपुट के रूप में एक बहुपद का प्रतिनिधित्व करने के लिए एक परिमित सूची लेता है, तो शून्य को जोड़ने से इसका परिणाम नहीं बदलना चाहिए।
सूची के रूप में बहुपद का प्रतिनिधित्व करते समय, आप उनका प्रतिनिधित्व कर सकते हैं या तो पहली या आखिरी प्रविष्टि के साथ निरंतर शब्द का प्रतिनिधित्व करते हैं। उदाहरण के लिए आपके पास निम्नलिखित में से कोई भी संभावना हो सकती है:
पहले मामले में, सूची के अंत में शून्य जोड़ने से परिणाम में बदलाव नहीं होना चाहिए; दूसरे मामले में, सूची के सामने शून्य जोड़ने से परिणाम नहीं बदलना चाहिए।
यदि आपकी भाषा बहुपद का समर्थन करती है तो आप उन्हें इनपुट के रूप में ले सकते हैं।
आउटपुट किसी भी मानक तरीकों से एक गैर-नकारात्मक पूर्णांक आउटपुट होना चाहिए।
यह कोड-गोल्फ है इसलिए उत्तर बाइट्स में स्कोर किए जाएंगे, कम बाइट बेहतर होने के साथ।
[]
या[0]
एक मान्य इनपुट?