एक संख्या एक रिक्त संख्या होती है जब -
- इसमें कम से कम तीन अंक होते हैं, और
- यह अपने पहले और अंतिम अंकों को एक साथ रखकर बनने वाली संख्या से पूर्णतः विभाजित होता है
उदाहरण के लिए -
संख्या 1053 एक रिक्त संख्या है क्योंकि इसमें 4 अंक होते हैं और यह 13 से पूर्णतः विभाज्य होता है। इसी प्रकार 135 एक अंतरालीय संख्या है क्योंकि इसमें 3 अंक होते हैं और यह 15 से पूर्णतः विभाज्य होता है।
हमारा काम एक प्रोग्राम लिखना है जो इनपुट के रूप में हमारे द्वारा प्रदान की गई संख्या के लिए निकटतम अंतर संख्या लौटाता है।
उदाहरण के लिए, सभी 2-अंकीय संख्याओं के लिए, यह 100 होगी। 103 के लिए, यह 105 होगी।
हम समस्या को दो कार्यों में विभाजित करेंगे -
isGapful() फ़ंक्शन
यह एक संख्या स्ट्रिंग प्राप्त करता है और नीचे दिए गए कोड के अनुसार एक बूलियन लौटाता है -
const isGapful = (numStr) => { const int = parseInt(numStr); return int % parseInt(numStr[0] + numStr[numStr.length - 1]) === 0; };
निकटतम गैपफुल () फ़ंक्शन
यह हमारा मुख्य कार्य है जो एक संख्या प्राप्त करता है, निकटतम अंतराल संख्या देता है। ये रहा कोड -
const nearestGapful = (num) => { if(typeof num !== 'number'){ return -1; } if(num <= 100){ return 100; } let prev = num - 1, next = num + 1; while(!isGapful(String(prev)) && !isGapful(String(next))){ prev--; next++; }; return isGapful(String(prev)) ? prev : next; };
isGapful() फ़ंक्शन इस आधार पर एक बूलियन लौटाता है कि संख्या गैपफुल है या अनिश्चित समय नहीं है, निकटतम गैपफुल () फ़ंक्शन तब तक लूप करता है जब तक कि उसे कोई संख्या नहीं मिल जाती है जो कि गैपफुल है और उसे वापस कर देती है।
पूरा कोड निम्नलिखित है -
उदाहरण
const n = 134; //receives a number string and returns a boolean const isGapful = (numStr) => { const int = parseInt(numStr); return int % parseInt(numStr[0] + numStr[numStr.length - 1]) === 0; }; //main function -- receives a number, returns a number const nearestGapful = (num) => { if(typeof num !== 'number'){ return -1; } if(num <= 100){ return 100; } let prev = num - 1, next = num + 1; while(!isGapful(String(prev)) && !isGapful(String(next))){ prev--; next++; }; return isGapful(String(prev)) ? prev : next; }; console.log(nearestGapful(n));
आउटपुट
कंसोल में आउटपुट होगा -
135