मुझे लगता है कि इस चुनौती को क्रमबद्ध तरीके से समझाना आसान है। एक इनपुट नंबर N से शुरू करें और:
- इसका उच्चतम प्रमुख कारक ज्ञात कीजिए
- ऊपर और नीचे नंबरों की जांच करें एन और देखें कि क्या उच्चतम प्रधानमंत्री कारक अधिक है (यानी के उच्चतम प्रधानमंत्री कारक N-1 और / या एन 1 का कारक से अधिक है एन ।
- उच्चतर और / या निम्न संख्याओं में पड़ोसी N की जाँच जारी रखें जहाँ उच्चतम कारक बढ़ रहे हैं ( (N-2, N-3 ...) और / या (N + 2, N + 3 ...) और पर)
- एक बार किसी भी दिशा में कोई भी प्रमुख कारक नहीं होता है जो कि पहले से ही हमने पाया है कि हम रोक चुके हैं और हमारे द्वारा सामना किए गए उच्चतम प्रमुख कारक को आउटपुट करते हैं।
आइए एक उदाहरण देखें:
245
प्रमुख कारक हैं 5, 7, 7
। इसके पड़ोसी हैं:
244 -> 2, 2, 61
245 -> 5, 7, 7
246 -> 2, 3, 41
उच्चतम प्रधान कारक दोनों दिशा में बढ़ रहा है, इसलिए हमें अगले पड़ोसी को देखना चाहिए:
243 -> 3, 3, 3, 3, 3
244 -> 2, 2, 2, 61
245 -> 5, 7, 7
246 -> 2, 3, 41
247 -> 13, 19
उच्चतम प्राइम कारक अब दोनों दिशाओं में घट रहे हैं, इसलिए हमने जो उच्चतम प्राइम फैक्टर प्राप्त किया है 61
, वह है और इसलिए लौटाया जाना चाहिए।
एक और उदाहरण:
आइए नजर डालते हैं 1024
। इसके प्रमुख कारक हैं 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
। इसके निकटतम पड़ोसियों के प्रमुख कारक हैं:
1023 -> 3, 11, 31
1024 -> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1025 -> 5, 5, 41
उच्चतम प्रधानमंत्री कारक दोनों दिशा में बढ़ रही हैं, से 2
करने के लिए 31
या 41
। आइए पड़ोसियों को देखें:
1022 -> 2, 7, 73
1023 -> 3, 11, 31
1024 -> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1025 -> 5, 5, 41
1026 -> 2, 3, 3, 19
के लिए सबसे प्रमुख कारक 1022
है 73
, और के लिए उच्चतम प्रमुख कारक 1026
है 19
। चूंकि हम इसमें रुचि नहीं रखते हैं 19
, 41
इसलिए कम है । यह अभी भी N से छोटी संख्या के लिए बढ़ रहा है, इसलिए हम उस दिशा में अगले एक की जाँच करेंगे :
1021 -> 1021
1022 -> 2, 7, 73
1023 -> 3, 11, 31
1024 -> 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
1025 -> 5, 5, 41
1026 -> 2, 3, 3, 19
1021
एक अभाज्य है, और हमारे द्वारा प्राप्त किया गया सर्वोच्च प्रधान है, इसलिए इसे वापस किया जाना चाहिए।
नियम:
- आपको केवल इससे
N
बड़ा1
और छोटा सकारात्मक मिलेगा2^31-2
। - इनपुट और आउटपुट प्रारूप वैकल्पिक हैं, लेकिन संख्या 10 बेस में होनी चाहिए।
- जब तक उच्चतम मूल्य उस दिशा में बढ़ता जा रहा है, तब तक आपको उच्च अपराधों की खोज जारी रखनी चाहिए। निर्देश एक दूसरे से स्वतंत्र हैं।
परीक्षण के मामलों:
प्रारूप: N, highest_factor
2, 3
3, 3
6, 7
8, 11
24, 23
1000, 997
736709, 5417
8469038, 9431
N=2
वास्तव में एक किनारे का मामला लगता है क्योंकि 1
कोई प्रमुख कारक नहीं है, इसलिए कोई भी अधिकतम कारक नहीं है जिसके साथ हम यह तय करने के लिए तुलना कर सकते हैं कि क्या हमें जारी रखना चाहिए।
2
लिए एक सर्वोच्च कारक मिलता है। हम तब5
N-1 के लिए और61
N + 1 के लिए प्राप्त करते हैं। फिर हम19
एन -2 के लिए और67
एन + 2 के लिए प्राप्त करते हैं। क्या हमें कम संख्या में कोशिश करते रहना चाहिए, कब से19>5
या रुकना है5<61
? यानी अधिकतम प्रति पक्ष रखा जाता है? (यदि उदाहरण गणितीय रूप से संभव हो तो मुझे यकीन नहीं है।)