परिचय
मनुष्य एक उल्लेखनीय प्रजाति है, लेकिन हम कभी-कभी समझने के लिए बहुत अजीब हो सकते हैं - विशेष रूप से कंप्यूटर के लिए। विशेष रूप से, हम बहुतायत से मनमाने नियमों के साथ बहुपत्नी शैली में बहुपद लिखना पसंद करते हैं।
सबसे छोटा कार्यक्रम क्या है जिसे आप इन नियमों का उपयोग करके एक बहुपद को सही ढंग से प्रारूपित करने के लिए लिख सकते हैं?
चुनौती
इनपुट
-1000 और 1000 (सम्मिलित) के बीच पूर्णांकों की एक सूची, एक बहुपद के गुणांक का प्रतिनिधित्व करती है, जिसमें अंतिम प्रविष्टि x ^ 0 (स्थिर) का गुणांक है, दूसरा अंतिम बार x 1, 1 का गुणांक है।
उत्पादन
मनुष्यों के सही ढंग से स्वरूपित गणितीय संकेतन में इस बहुपद का प्रतिनिधित्व करने वाला एक तार।
नियम:
- अग्रणी गुणांक पर संकेत केवल तभी दिखाया जाता है जब यह नकारात्मक हो।
Right: -x^2+3
Wrong: +x^2+3
- 0 के गुणांक वाले घटक मुद्रित नहीं होते हैं (कोने के मामले को छोड़कर जहां सभी गुणांक 0 * हैं)।
Right: x^5-x^2+3
Wrong: x^5+0x^4+0x^3-x^2+0x+3
- गुणांक
-1
और+1
1 के बिना प्रदर्शित किए जाते हैं, जब तक कि वे स्थिर न हों।
Right: x^5-x^2+1
Wrong: 1x^5-1x^2+1
- घातांक केवल तभी दिखाया जाता है यदि यह 1 से अधिक है और चर केवल दिखाया गया है यदि घातांक 0 से अधिक है।
Right: 3x^3-7x^2+2x+1
Wrong: 3x^3-7x^2+2x^1+1x^0
- * कॉर्नर केस: जबकि शून्य मान आमतौर पर उस घटक को प्रिंट नहीं करते हैं, यदि सभी गुणांक शून्य हैं स्थिर 0 को मुद्रित किया जाना चाहिए।
Right: 0
Wrong: 0x+0
Wrong: (nothing)
- यह कोड-गोल्फ है इसलिए विजेता सबसे कम बाइट्स वाला कार्यक्रम होगा।
उदाहरण इनपुट और आउटपुट
Input: Output:
[0] 0
[0,0] 0
[0,-1,35,0] -x^2+35x
[5,1,7,-9] 5x^3+x^2+7x-9
[100,0,0,-1] 100x^3-1
[931,21,-11,1] 931x^3+21x^2-11x+1
मैं आपके समाधान को देखने के लिए उत्सुक हूं। मज़े करो!
संपादित करें:
- आप चाहें तो व्हाट्सएप द्वारा परिचालन को घेर सकते हैं। इसलिए
3x+5
और3x + 5
दोनों ठीक हैं।3x+ 5
और3x +5
नहीं हैं। - यदि आप वास्तविक घातांक वर्ण (टेक्स में कहते हैं) का उत्पादन करना चाहते हैं, तो इसकी अनुमति दी जाती है क्योंकि यह मनुष्य के लिखने के करीब भी है।
- गुणांक किसी भी दशमलव के बिना दिखाई देना चाहिए जैसे
9x^2
कि सही है,9.0x^2
नहीं है।
1x
-> x
प्रतिस्थापन में नहीं बदलता 21x^2
है 2x^2
।
3x^2 + 4
बनाम3x^2+4
?