यह प्रश्न इस उत्तर से प्रेरित है । संयोग से, जब मैं एक बच्चा था, तब मैं इथियोपियाई गुणन का उपयोग करता था, लेकिन हाल ही में विधि का नाम कभी नहीं जाना था।
इथियोपियन गुणन पूर्णांक को केवल जोड़, दोहरीकरण और हॉल्टिंग का उपयोग करके गुणा करने की एक विधि है।
तरीका:
- गुणा करने के लिए दो नंबर लें और उन्हें दो कॉलम के शीर्ष पर लिखें।
- बाएं हाथ के कॉलम में बार-बार अंतिम संख्या को रोकते हैं, किसी भी अवशेष को छोड़ते हैं, और अंतिम कॉलम के नीचे परिणाम लिखते हैं, जब तक आप 1 का मान नहीं लिखते हैं।
- दाहिने हाथ के कॉलम में बार-बार अंतिम संख्या को दोगुना करें और नीचे परिणाम लिखें। जब आप उसी पंक्ति में परिणाम जोड़ते हैं तो रोकें जहां बाएं हाथ का कॉलम 1 दिखाता है।
- उत्पादित तालिका की जांच करें और किसी भी पंक्ति को छोड़ दें जहां बाएं कॉलम में मान भी है। दाएं हाथ के कॉलम में मान सम्मिलित करें जो मूल दो संख्याओं को एक साथ गुणा करने के परिणाम के रूप में बने रहते हैं।
उदाहरण के लिए: 17 x 34
17 34
पहला कॉलम हल करना:
17 34
8
4
2
1
दूसरा कॉलम डबलिंग:
17 34
8 68
4 136
2 272
1 544
स्ट्राइक-आउट पंक्तियाँ जिनकी पहली सेल सम है, हम इसे वर्गाकार कोष्ठकों में दाईं ओर उन संख्याओं को अंकित करके करेंगे:
17 34
8 [68]
4 [136]
2 [272]
1 544
दाएं हाथ के कॉलम में शेष संख्याओं को जोड़ो:
17 34
8 [68]
4 [136]
2 [272]
1 544
=====
578
तो इथियोपिया विधि द्वारा 17 गुणा 34, 578 है।
काम:
गोल्फ कोड जो 1 और 1000 के बीच दो नंबर लेता है और नीचे दिए गए उत्पाद को प्रदर्शित करते हुए एक ही लेआउट और एल्गोरिथ्म करता है।
इनपुट विधि: हालाँकि आप चुनते हैं ...
उदाहरण इनपुट:
19 427
परिणाम आउटपुट:
19 427
9 854
4 [1708]
2 [3416]
1 6832
======
8113
कृपया अंकों के संरेखण पर ध्यान दें। लेआउट में यह सबसे महत्वपूर्ण है। यह भी ध्यान दें कि समान संकेतों द्वारा निर्धारित दोहरी लाइन समग्र उत्तर की तुलना में दो वर्णों से अधिक लंबी होनी चाहिए और केंद्र द्वारा उचित होनी चाहिए।
परिक्षण
आप इसका परीक्षण कैसे करेंगे? दो नंबर का उपयोग करके अपने प्रोग्राम का रन प्रदान करके। ये नंबर आपके यूजर आईडी नंबर से निकाले जा सकते हैं (यह शीर्ष विंडो पर आपके अवतार पर आपके कर्सर को मँडराकर प्राप्त किया जा सकता है)। अपना नंबर लें और अंतिम तीन अंक लें, यह नंबर B होगा, जो कुछ भी बाकी है उसे सामने रखें, वह नंबर A होगा। फिर A बार B के लिए परीक्षण करें।
परीक्षण उदाहरण:
मेरी उपयोगकर्ता आईडी संख्या 8555 है, इसलिए मेरी संख्या 8 और 555 है। इसलिए मेरा आउटपुट इस तरह दिखना चाहिए:
8 [555]
4 [1110]
2 [2220]
1 4440
======
4440
प्रतिबंध:
किसी भी देशी गुणन संचालकों को एल्गोरिथ्म में बताए अनुसार, "दोहरीकरण" के उपयोग के लिए बचत की अनुमति नहीं है। दूसरे शब्दों में, यदि आप * जैसे ऑपरेटर का उपयोग कर रहे हैं, तो इसका उपयोग केवल 2 से गुणा करने के लिए किया जा सकता है।
प्रविष्टियाँ जो इसका पालन नहीं करती हैं, उन पर विचार नहीं किया जाएगा और उपयोगकर्ता को उनके सामान से भरे कार्डबोर्ड बॉक्स के साथ परिसर से बाहर ले जाया जाएगा। प्रत्येक प्रविष्टि में कोड होगा, और आपके उपयोगकर्ता आईडी नंबर के आधार पर परीक्षण होगा।
यह कोड गोल्फ है। सबसे कम संख्या में बाइट्स अपने साथियों के पुरस्कार, महिमा और प्रशंसा प्राप्त करेंगे ... (और शायद एक लेम्बोर्गिनी ... मैंने कहा "शायद"!)
*
याx
) के उपयोग को प्रतिबंधित कर सकते हैं , लेकिन यह पता लगाना असंभव है कि गुणन का उपयोग किया जाता है या नहीं। उस हिस्से को छोड़कर, चुनौती दिलचस्प है।