चुनौती
कई संख्याएं हैं जिन्हें दो वर्गों के अंतर के रूप में, या दो क्यूब्स के अंतर के रूप में, या शायद उच्च शक्तियों के रूप में भी व्यक्त किया जा सकता है। वर्गों के बारे में बात करते हुए, एक संख्या को लिखने के विभिन्न तरीके हैं, 75 का कहना है, 2 वर्गों के अंतर के रूप में। तुम लिख सकते हो:
75 = (10)^2 - (5)^2
= (14)^2 - (11)^2
= (38)^2 - (37)^2
तो चलिए आपको चुनौती के बारे में बताते हैं। सबसे पहले, उपयोगकर्ता एक संख्या में प्रवेश करता है और फिर वह n के लिए एक मान दर्ज करता है। आपको उन सभी तरीकों को प्रदर्शित करने की आवश्यकता है जिनमें वह संख्या aⁿ - b display के रूप में लिखी जा सकती है।
इनपुट और आउटपुट
इनपुट संख्या और n का मान होगा। आपके आउटपुट में 'a' और 'b' की ऐसी सभी जोड़ियाँ होंगी, जो उपर्युक्त स्थिति से मिलती हैं। जोड़ी में पहली संख्या दूसरी से बड़ी होनी चाहिए। कृपया ध्यान दें कि ए, बी, एन और इनपुट नंबर सभी सकारात्मक पूर्णांक हैं, और एन> 1 ।
उदाहरण
50, 2 -> (none)
32, 2 -> (9,7), (6, 2)
7, 3 -> (2,1)
665, 6 -> (3, 2)
81, 4 -> (none)
स्कोरिंग
यह कोड-गोल्फ है , इसलिए सबसे छोटा कोड जीतता है!
==
UniHaskell में समान संकेत कुछ हद तक भ्रमित करने वाला है, क्योंकि यह गणित में बधाई को दर्शाता है।