परिचय
इस चुनौती में, हम सकारात्मक पूर्णांक के एक निश्चित क्रम के साथ काम करेंगे। आदेश इस प्रकार है:
3, 5, 7, 9, 11, ...
2*3, 2*5, 2*7, 2*9, 2*11, ...
4*3, 4*5, 4*7, 4*9, 4*11, ...
8*3, 8*5, 8*7, 8*9, 8*11, ...
16*3, 16*5, 16*7, 16*9, 16*11, ...
...
... 64, 32, 16, 8, 4, 2, 1
हम पहले आरोही क्रम में 1 से अधिक सभी विषम पूर्णांक सूचीबद्ध करते हैं। फिर हम 1 से अधिक दो बार अजीब पूर्णांक सूचीबद्ध करते हैं, फिर 4 बार, फिर 8 बार, और इसी तरह: सभी के लिए , हम 2 k गुना विषम पूर्णांक को आरोही क्रम में 1 से अधिक सूचीबद्ध करते हैं। अंत में, हम दो की शक्तियों को अवरोही क्रम में सूचीबद्ध करते हैं , 1. पर समाप्त होता है। प्रत्येक सकारात्मक पूर्णांक इस "सूची" में ठीक एक बार होता है।
अधिक स्पष्ट रूप से, दो अलग-अलग सकारात्मक पूर्णांक पर विचार करें A = n · 2 p और B = m · 2 q , जहाँ n, m and 1 विषम हैं, और p, q । 0 । उसके बाद A , B से पहले क्रम में आता है , यदि निम्न में से कोई एक शर्त रखता है:
- n> 1 , m> 1 और p <q
- 1 <n <m और p = q
- एन> एम = 1
- n = m = 1 और p> q
यह आदेश शारकोवस्की के प्रमेय के रूप में ज्ञात आश्चर्यजनक गणितीय परिणाम में प्रकट होता है , जो गतिशील प्रणालियों के आवधिक बिंदुओं की चिंता करता है। मैं यहां विवरण में नहीं जाऊंगा।
काम
इस चुनौती में आपका काम उपरोक्त आदेश की गणना करना है। आपके इनपुट दो सकारात्मक पूर्णांक A और B हैं , जो समान हो सकते हैं। आपका आउटपुट एक truthy मूल्य अगर है एक से पहले आता है बी आदेश में, और एक falsy मूल्य अन्यथा। यदि A = B , आपका आउटपुट सत्य होना चाहिए। जब तक आप सुसंगत हैं, तब तक आप ए और बी को किसी भी क्रम में ले सकते हैं ।
आपको पूर्णांक अतिप्रवाह के बारे में चिंता करने की ज़रूरत नहीं है, लेकिन आपके एल्गोरिथ्म को सैद्धांतिक रूप से बड़े इनपुट के लिए काम करना चाहिए।
परीक्षण के मामलों
सत्य दृष्टांत
3 11
9 6
48 112
49 112
158 158
36 24
14 28
144 32
32 32
32 8
3 1
1 1
झूठा उदाहरण
1 2
1 5
11 5
20 25
2 8
256 255
256 257
72 52
2176 1216
2176 2496
a&1|~b&1&f(a/2,b/2)
काम करते हैं?