एक संख्या गैपफुल होती है यदि यह कम से कम 3 अंकों की हो और पहले और अंतिम अंक से बनी संख्या से विभाज्य हो। सबसे छोटी ऐसी संख्या 100 है। पहला अंक 1, अंतिम 0, जिससे 10 बनता है, जो 100 का गुणक है। इसलिए 100 गैपफुल है।
हमें एक फ़ंक्शन बनाना है जो संख्या n लेता है और निकटतम गैपफुल संख्या (स्वयं सहित) वापस करता है। यदि दो गैपफुल संख्याएं समान दूरी पर हों, तो छोटी वापस करें।
कुछ उदाहरण:
gapful(25) ➞ 100 gapful(100) ➞ 100 gapful(103) ➞ 105
उदाहरण
निम्नलिखित कोड देखें:
const num = 4780;
const isGapful = n => {
if (n < 100) return false;
const temp = Array.from(n.toString());
return n % (temp[0] + temp[temp.length - 1]) === 0;
}
function getClosestGapful(n) {
let left = n, right = n;
while (!isGapful(right)) right++;
if (n < 100) return right;
while (!isGapful(left)) left--;
return n - left <= right - n ? left : right;
}
console.log(getClosestGapful(25));
console.log(getClosestGapful(num));
आउटपुट
यह कंसोल पर निम्नलिखित आउटपुट देगा:
100 4800