यह एक ऐसी गणितीय समस्या से प्रेरित था जिसे मैंने इंटरनेट पर कहीं देखा था लेकिन यह याद नहीं है कि कहां (UPDATE: मूल समस्या गणित की पहेलियों पर एक प्रमाण के साथ उपखंड पाया गया था कि यह संभव है, इस गणित एसई पोस्ट को भी देखें ), के लिए पूछ रहा है एक प्रमाण यदि पूर्णांक की किसी भी मनमानी जोड़ी के लिए निम्नलिखित प्रक्रिया संभव है (जो मुझे याद है, वह किसी भी जोड़ी के लिए संभव था):
पूर्णांक, जम्मू और कश्मीर की एक जोड़ी को देखते हुए, उनमें से एक को दोगुना करें और एक को दूसरे में जोड़ें, जिसके परिणामस्वरूप नए पूर्णांकों की एक जोड़ी है, अर्थात (j, k) -> (j + 1, k * 2) या (j * 2, के + 1)। फिर उन पूर्णांकों के साथ इस प्रक्रिया को दोहराएं, पूर्णांकों की जोड़ी समान होने के उद्देश्य से।
ये दिए गए उदाहरण आवश्यक रूप से इष्टतम नहीं हैं, लेकिन यह दिखाते हैं कि यह प्रक्रिया किसी भी पूर्णांक, सकारात्मक, नकारात्मक या शून्य पर कैसे की जा सकती है:
(2, 5) -> (3, 10) -> (6, 11) -> (12, 12)
(5, 6) -> (6, 12) -> (7, 24) -> (14, 25) -> (28, 26) -> (56, 27) -> (112, 28) -> (113, 56) -> (226, 57) -> (227, 114) -> (228, 228)
(0, 2) -> (1, 4) -> (2, 5) -> (3, 10) -> (6, 11) -> (12, 12)
(-4, 0) -> (-3, 0) -> (-2, 0) -> (-1, 0) -> (0, 0)
(3, -1) -> (6, 0) -> (12, 1) -> (13, 2) -> (14, 4) -> (15, 8) -> (16, 16)
(-4, -3) -> (-8, -2) -> (-16, -1) -> (-32, 0) -> (-31, 0) -> ... -> (0, 0)
चुनौती
एक प्रोग्राम बनाएं जिसमें दो पूर्णांक दिए गए हों, उन पूर्णांकों को समान बनाने के लिए आवश्यक कदमों की सूची को बार-बार बढ़ाते हुए एक को दोहराते हैं और दूसरे को दोहराते हैं।
विशेष विवरण
- समाधान इष्टतम नहीं है, लेकिन यह किसी भी मनमाने ढंग से जोड़ी के लिए चरणों की एक सीमित संख्या में हल करना होगा
इनपुट दो पूर्णांक होना चाहिए
आउटपुट कोई भी उचित आउटपुट हो सकता है जो प्रत्येक चरण के परिणामी पूर्णांक को स्पष्ट रूप से दर्शाता है, उदाहरण के लिए:
- दो अलग-अलग सीमांकक (किसी भी प्रतीक, श्वेतपत्र, आदि) के साथ एक स्ट्रिंग, एक जोड़े में प्रत्येक पूर्णांक के लिए और एक जोड़ी के लिए एक
- उदाहरण के लिए, इनपुट j, k: 2, 5 -> आउटपुट: 3,10; 6,11; 12,12
- पूर्णांकों की सूची की एक सूची
- उदाहरण इनपुट j, k: 2, 5 -> आउटपुट: [[3, 10], [6, 11], [12, 12]]
- दो अलग-अलग सीमांकक (किसी भी प्रतीक, श्वेतपत्र, आदि) के साथ एक स्ट्रिंग, एक जोड़े में प्रत्येक पूर्णांक के लिए और एक जोड़ी के लिए एक
यदि इनपुट समान संख्याओं की एक जोड़ी है, तो आप कुछ भी उत्पादन कर सकते हैं जब तक कि यह अन्य उत्तर-उत्तर के अनुरूप हो
- उदाहरण के लिए
- यदि इनपुट [2, 5] में आउटपुट [[3, 10], [6, 11], [12, 12]] है, जिसमें इनपुट जोड़ी शामिल नहीं है, तो इनपुट [4, 4] में कुछ भी नहीं होना चाहिए।
- यदि इनपुट [२, ५] में आउटपुट है [[२, ५], [३, १०], [६, ११], [१२, १२]], जिसमें इनपुट जोड़ी शामिल है, तो इनपुट [४, ४] होना चाहिए। आउटपुट [[४, ४]]।
- उदाहरण के लिए
मानक IO विधियाँ लागू होती हैं और मानक खामियों पर रोक लगाई जाती है
यह कोड गोल्फ है इसलिए बाइट्स जीत में सबसे छोटा जवाब है
[(12,12),(6,11),(3,10),(2,5)]
इनपुट के लिए (2,5)
?