पृष्ठभूमि
सबसे बड़ा सामान्य भाजक ( शॉर्ट के लिए जीसीडी ) एक सुविधाजनक गणितीय कार्य है, क्योंकि इसमें कई उपयोगी गुण हैं। उनमें से एक Bézout की पहचान है : यदि d = gcd(a, b)
, तो वहाँ पूर्णांक x
और y
ऐसे मौजूद हैं d = x*a + y*b
। इस चुनौती में, आपका कार्य सरल ASCII कला के साथ इस संपत्ति की कल्पना करना है।
इनपुट
आपके इनपुट दो सकारात्मक पूर्णांक हैं a
और b
, किसी भी उचित प्रारूप में दिए गए हैं। आप अनरीट इनपुट्स (अपनी पसंद के एकल प्रिंट करने योग्य एएससीआईआई चरित्र की पुनरावृत्ति) भी ले सकते हैं, लेकिन आपको संगत होना चाहिए और दोनों इनपुटों के लिए एक ही प्रारूप का उपयोग करना होगा। इनपुट किसी भी क्रम में हो सकते हैं, और वे समान हो सकते हैं।
उत्पादन
आपका आउटपुट s
लंबाई की एक स्ट्रिंग है lcm(a, b) + 1
( lcm सबसे सामान्य बहु के लिए खड़ा है)। के पात्रों s
से पूर्णांकों का प्रतिनिधित्व 0
करने के लिए lcm(a, b)
। यदि चरित्र एक से अधिक है, या एक अवधि है, तो s[i]
एक लोअरकेस हैo
i
a
b
.
अन्यथा । ध्यान दें कि शून्य हर संख्या का एक गुणक है। अब, Bézout की पहचान की वजह से, वहाँ पात्रों में से कम से कम एक जोड़ी हो जाएगा o
में s
जिसका दूरी ठीक है gcd(a, b)
। सबसे बाईं ओर की जोड़ी को अपरकेस O
एस द्वारा प्रतिस्थापित किया जाना है ; यह अंतिम आउटपुट है।
उदाहरण
इनपुट पर विचार करें a = 4
और b = 6
। फिर हमारे पास है , gcd(a, b) = 2
और lcm(a, b) = 12
इसलिए लंबाई s
होगी 13
। के गुणकों a
औरb
इस प्रकार हाइलाइट किया जाता है:
0 1 2 3 4 5 6 7 8 9 10 11 12
o . . . o . o . o . . . o
o
दूरी दो के साथ एस के दो जोड़े हैं , लेकिन हम केवल सबसे बाएं लोगों को O
एस के साथ बदल देंगे , इसलिए अंतिम आउटपुट है
o...O.O.o...o
नियम और स्कोरिंग
आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है।
परीक्षण के मामलों
1 1 -> OO
2 2 -> O.O
1 3 -> OOoo
4 1 -> OOooo
2 6 -> O.O.o.o
2 3 -> o.OOo.o
10 2 -> O.O.o.o.o.o
4 5 -> o...OO..o.o.o..oo...o
8 6 -> o.....O.O...o...o.o.....o
12 15 -> o...........O..O........o.....o.....o........o..o...........o
19 15 -> o..............o...o..........o.......o......o...........o..o..............OO.............o....o.........o........o.....o............o.o..............o.o............o.....o........o.........o....o.............oo..............o..o...........o......o.......o..........o...o..............o
.
,o
याO
।) या यह होना चाहिए1
? या0
?