दूसरे दिन वर्ग-शासित पेपर पर डूडलिंग करते हुए, मैं अंकों के लिए उपरोक्त नकारात्मक-स्थान फ़ॉन्ट के साथ आया। यदि आपने इसे अभी तक देखा नहीं है, तो उपरोक्त आकृतियों के बीच के रिक्त स्थान का अनुपात 1.618033988749 है । इस चुनौती में, आपका कार्य इनपुट के रूप में एक संख्या लेना है और इसे ऊपर दिए गए उदाहरण के समान प्रस्तुत करना है।
यहाँ ये कैसे बनाया जाता है। सभी लाइनें एक नियमित ग्रिड पर होंगी, ताकि व्यक्तिगत अंक कम संख्या में ग्रिड कोशिकाओं से बने हों। यहां 10 अंकों के आकार दिए गए हैं (हम इस चुनौती के लिए दशमलव बिंदु की उपेक्षा करेंगे):
हाँ 7 सबसे ऊपर के सुनहरे अनुपात के उदाहरण से भिन्न है। मैं थोड़े गड़बड़ कर दिया। हम इस एक के साथ जा रहे हैं।
ध्यान दें कि प्रत्येक अंक पाँच सेल लंबा है, और तीन कोशिकाएँ चौड़ी हैं। किसी संख्या को रेंडर करने के लिए, आप इसके सभी अंकों को एक दूसरे के बगल में रखने की कल्पना कर सकते हैं, जैसे कि प्रत्येक जोड़ी के अंकों के बीच एक खाली कॉलम होता है। उदाहरण के लिए, 319
इनपुट के रूप में लेते हुए , हम लिखेंगे:
ध्यान दें कि हम एक अग्रणी और अनुगामी खाली कॉलम जोड़ते हैं। अब हम कोशिकाओं को उल्टा करते हैं:
आउटपुट को तब परिणामी बहुभुजों की सीमाएँ होनी चाहिए:
बेशक आप किसी अन्य तरीके से परिणाम उत्पन्न कर सकते हैं, जब तक कि प्रस्तुत आउटपुट समान दिखता है।
इनपुट
- आप एक स्ट्रिंग या अंकों की सूची के रूप में STDIN (या निकटतम वैकल्पिक), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट लेते हुए एक प्रोग्राम या फ़ंक्शन लिख सकते हैं। (आप एक संख्या नहीं ले सकते क्योंकि यह आपको अग्रणी शून्य का समर्थन करने की अनुमति नहीं देगा।)
- आप मान सकते हैं कि इनपुट में कोई 16 अंक नहीं होंगे।
उत्पादन
- आउटपुट या तो स्क्रीन पर प्रदर्शित हो सकता है या एक सामान्य छवि प्रारूप में एक फ़ाइल में लिखा जा सकता है।
- आप रेखापुंज और वेक्टर ग्राफिक्स दोनों का उपयोग कर सकते हैं।
- या तो मामले में, अंतर्निहित ग्रिड की कोशिकाओं का पहलू अनुपात 1 होना चाहिए (अर्थात, कोशिकाओं को वर्ग होना चाहिए)।
- रेखापुंज ग्राफिक्स के मामले में, प्रत्येक सेल को कम से कम 20 को 20 पिक्सेल से कवर करना चाहिए।
- सेल आकार का 10% से अधिक चौड़ा नहीं होना चाहिए। मैं यहाँ अलियासिंग के कारण एक या दो पिक्सेल लेवे देने को तैयार हूँ।
- लाइनें और पृष्ठभूमि किसी भी दो स्पष्ट रूप से अलग-अलग रंग हो सकते हैं, लेकिन लाइनों द्वारा बनाई गई आकृतियों को भरा नहीं जाना चाहिए (अर्थात यह है कि पृष्ठभूमि का रंग भी होना चाहिए)।
- प्रत्येक बंद लूप के भीतर कोई अंतराल नहीं होना चाहिए।
- बेशक, पूरा परिणाम दिखाई देना चाहिए।
परीक्षण के मामलों
यहां 10 इनपुट दिए गए हैं, जो एक साथ आसन्न अंकों के सभी संभावित जोड़ों को कवर करते हैं, साथ ही हर संभव अग्रणी और अनुगामी अंक:
07299361548
19887620534
21456837709
39284106657
49085527316
59178604432
69471338025
79581224630
89674235011
97518264003
और यहाँ उन लोगों के लिए अपेक्षित परिणाम हैं:
सुनिश्चित करें कि एक भी अंक दिए जाने पर आपका कोड भी काम करता है (मैं यहां अपेक्षित परिणाम शामिल नहीं करना चाहता, क्योंकि वे स्पष्ट होने चाहिए, और परीक्षण मामला अनुभाग पर्याप्त रूप से फूला हुआ है)।