कुछ भी करने के लिए और गिनती के बिना दो पूर्णांकों के लिए लंबे गुणा करने का एक अच्छा तरीका है, जिसे कभी-कभी इंटरनेट के आसपास साझा किया जाता है। आप प्रत्येक संख्या के अंकों को 90 डिग्री के कोण पर दो संख्याओं के साथ, झुकी हुई रेखाओं के एक समूह के रूप में लिखते हैं। फिर आप बस उन अलग-अलग स्तंभों में चौराहों की गिनती कर सकते हैं जो उत्पन्न होते हैं। एक आरेख संभवतः इसे स्पष्ट करेगा। यहाँ गणना के लिए एक उदाहरण है 21 * 32
:
यदि आप "दृश्य / चित्रमय लंबी गुणा" के लिए Google करते हैं, तो आपको बहुत अधिक उदाहरण मिलेंगे।
इस चुनौती में, आपको ASCII कला का उपयोग करके इन आरेखों को उत्पन्न करना है। उसी उदाहरण के लिए, आउटपुट इस तरह दिखेगा:
\ /
X /
\ / X /
\ X / X
X X / \ /
/ X X X /
/ X \ / X
/ \ X / \
X X
/ X \
/ \
कुछ उदाहरणों (नीचे देखें) से इन के लिए निर्माण नियमों का पता लगाना सबसे आसान है, लेकिन यहां कुछ विवरण हैं:
- इंटरसेक्टिंग सेगमेंट हैं
X
, लाइनों के नॉन-इंटरसेक्टिंग सेगमेंट हैं/
या\
। - सबसे बाहरी चौराहों के बाद ठीक एक खंड होना चाहिए।
- विभिन्न अंकों से संबंधित चौराहों के बीच बिल्कुल एक खंड होना चाहिए। यदि शून्य-अंक हैं, तो इनका परिणाम लगातार
/
या\
खंड होगा। - आपको किसी भी सकारात्मक इनपुट (कम से कम कुछ उचित सीमा जैसे 2 16 या 2 32 ), और किसी भी अंक का समर्थन
0
करना होगा9
। हालाँकि, आप मान सकते हैं कि वहाँ न तो अग्रणी है और न ही अनुगामी0
। - आपको बाहरी प्रमुख व्हाट्सएप या खाली लाइनों का नेतृत्व या अनुगामी नहीं करना चाहिए।
- आप अनुगामी व्हाट्सएप प्रिंट कर सकते हैं लेकिन यह आरेख के अक्ष-संरेखित बाउंडिंग बॉक्स से अधिक नहीं होना चाहिए।
- आप वैकल्पिक रूप से एक एकल अनुगामी न्यूलाइन प्रिंट कर सकते हैं।
- आप चुन सकते हैं कि आप किस क्रम में दो इनपुट नंबर लेंगे। हालाँकि, यह आपको या तो अभिविन्यास के लिए मनमाने ढंग से संख्याओं का समर्थन करना चाहिए, इसलिए आप कुछ ऐसा नहीं चुन सकते हैं जैसे "बड़ी संख्या पहले दी गई है"।
- यदि आप एक स्ट्रिंग के रूप में इनपुट ले रहे हैं, तो आप दो संख्याओं के बीच किसी भी गैर-अंक विभाजक का उपयोग कर सकते हैं।
आप STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट ले रहे हैं और STDOUT (या निकटतम विकल्प), फ़ंक्शन रिटर्न मान या फ़ंक्शन (आउट) पैरामीटर के माध्यम से परिणाम लिख सकते हैं।
यह कोड गोल्फ है, सबसे छोटा उत्तर (बाइट्स में) जीतता है।
उदाहरण
1*1
\ /
X
/ \
2*61
\ /
\ X /
X X /
/ X X /
/ X X /
/ X X /
/ X X
/ X \ /
/ \ X
X \
/ \
45*1
\ /
\ X
\ X \
\ X \
\ X \
X \
\ / \
\ X
\ X \
\ X \
X \
/ \
21001*209
\ /
X /
/ X
/ / \
\ / / \ /
X / X /
\ / X / X /
\ X / \ / / X /
X X \ / / / X /
/ X \ X / / / X /
/ \ \ / X / / / X /
\ X / X / / / X /
X X / X / / / X /
/ X X / X / / / X
/ X X / X / / / \
/ X X / X / /
/ X X / X /
/ X X / X
/ X X / \
/ X X
/ X \
/ \