आपके सबसे अच्छे दोस्त ने जिगसॉ पहेलियाँ इकट्ठा करना शुरू कर दिया है। वे अपने संग्रह की एक विस्तृत सूची बनाना चाहते हैं, जिसमें कुल टुकड़ों की संख्या, पंक्तियों और स्तंभों की संख्या, किनारे के और अंदर के टुकड़ों की संख्या, आस्पेक्ट रेशियो और पहेली का प्रारूप जैसी जानकारियाँ दर्ज होंगी।
आपकी शक्तियाँ मिलाकर भी एक हज़ार टुकड़ों वाली एक जिगसॉ पहेली हल करने में कई घंटे लग जाते हैं, और उसके बाद भी आपको पंक्तियाँ और स्तंभ गिनने और बाकी संख्याएँ हाथ से निकालनी पड़ती हैं। हज़ारों टुकड़ों वाली इससे भी बड़ी पहेलियाँ तो अब देखकर डर लगता है।
"इससे बेहतर कोई तरीका ज़रूर होगा!" आप कह उठते हैं और समस्या हल करने के लिए अपने कंप्यूटर के सामने बैठ जाते हैं।
जिगसॉ पहेली के बारे में आंशिक जानकारी दी गई हो, तो छूटे हुए टुकड़े जोड़िए।
अगर जानकारी विवरण पूरा करने के लिए अपर्याप्त है, या दिए गए हिस्से एक-दूसरे से विरोधाभासी हैं, तो उपयोगकर्ता को सूचित किया जाना चाहिए।
जिगसॉ पहेली की पूरी जानकारी में ये हिस्से शामिल होते हैं:
pieces: कुल टुकड़ों की संख्याborder: किनारे के टुकड़ों की संख्याinside: अंदर के (किनारे के नहीं) टुकड़ों की संख्याrows: पंक्तियों की संख्याcolumns: स्तंभों की संख्याaspectRatio: स्तंभों और पंक्तियों के बीच आस्पेक्ट रेशियोformat: पहेली का फॉर्मेट, जो portrait, square या landscape हो सकता हैइस अभ्यास में आप मान सकते हैं कि सारे टुकड़े वर्गाकार हैं, इसलिए फॉर्मेट आस्पेक्ट रेशियो से निकाला जा सकता है:
portrait है.square है.landscape है.6 टुकड़ों वाली एक पोर्ट्रेट जिगसॉ पहेली, जिसके सारे टुकड़े किनारे के हैं और कोई भी अंदर का नहीं है। इसमें 2 स्तंभ और 3 पंक्तियाँ हैं। आस्पेक्ट रेशियो 0.666666... (2/3) है।
9 टुकड़ों वाली एक वर्गाकार जिगसॉ पहेली। इसमें बीच वाले टुकड़े को छोड़कर बाकी सारे टुकड़े किनारे के हैं, और वह बीच वाला टुकड़ा अंदर का है। इसमें 3 स्तंभ और 3 पंक्तियाँ हैं। आस्पेक्ट रेशियो 1.0 (3/3) है।
12 टुकड़ों वाली एक लैंडस्केप जिगसॉ पहेली, जिसमें 10 टुकड़े किनारे के हैं और 2 अंदर के हैं। इसमें 4 स्तंभ और 3 पंक्तियाँ हैं। आस्पेक्ट रेशियो 1.333333... (4/3) है।
Exercism पर साइन अप कीजिए और PowerShell को 136 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।