เราจำเป็นต้องเขียนฟังก์ชันโดยพูดว่า "closedPalindrome()" ที่รับตัวเลข n และส่งกลับค่า palindromic ที่ใกล้เคียงกับตัวเลข n มากที่สุด
ตัวอย่างเช่น −
-
หากหมายเลขอินพุตคือ 264 เอาต์พุตควรเป็น 262
-
หากหมายเลขอินพุตคือ 7834 เอาต์พุตควรเป็น 7887
โดยพื้นฐานแล้ว วิธีการคือ เราแบ่งตัวเลขออกเป็นสองส่วน (ความยาวของมัน) และส่งกลับตัวเลขใหม่ซึ่งเป็นเพียงครึ่งแรกที่ต่อกันสองครั้ง
ตัวอย่าง
const findNearestPalindrome = num => {
const strNum = String(num);
const half = strNum.substring(0, Math.floor(strNum.length/2));
const reversed = half.split("").reverse().join("");
const first = strNum.length % 2 === 0 ? half : strNum.substring(0,
Math.ceil(strNum.length/2))
return +(first+reversed);
};
console.log(findNearestPalindrome(235));
console.log(findNearestPalindrome(23534));
console.log(findNearestPalindrome(121));
console.log(findNearestPalindrome(1221));
console.log(findNearestPalindrome(45)); ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
232 23532 121 1221 44