Computer >> Máy Tính >  >> Lập trình >> Javascript

Palindrome gần nhất trong JavaScript

Chúng tôi được yêu cầu viết một hàm, chẳng hạn như nearPalindrome () nhận vào một số n và trả về một số palindromic gần nhất với số n.

Ví dụ -

  • Nếu số đầu vào là 264, thì đầu ra phải là 262

  • Nếu số đầu vào là 7834, thì đầu ra phải là 7887

Về cơ bản, cách tiếp cận sẽ là, chúng tôi chia số thành hai nửa (theo chiều dài của nó) và trả lại số mới chỉ là nửa đầu được nối hai lần.

Ví dụ

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

232
23532
121
1221
44