Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

หา Palindrome ใกล้เคียงที่สุดใน JavaScript

เราต้องเขียนฟังก์ชัน nearestPalindrome() ที่รับตัวเลข n และคืนค่าตัวเลข palindrome ที่ใกล้ที่สุดกับ 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