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

ตรวจสอบว่าตัวเลขเป็น Palindrome ใน JavaScript


สมมติว่าเราต้องเขียนฟังก์ชันที่รับตัวเลขและคืนค่าบูลีนตามว่าตัวเลขนั้นเป็น palindrome หรือไม่ มีข้อจำกัดคือต้องทำโดยไม่แปลงตัวเลขเป็นสตริงหรือชนิดข้อมูลอื่น

ตัวเลข Palindrome คือตัวเลขที่อ่านจากหน้าหลังและหลังหน้าได้เหมือนกัน

ตัวอย่าง −

121 343 12321

ดังนั้น มาเขียนโค้ดสำหรับฟังก์ชันนี้

ตัวอย่าง

const isPalindrome = (num) => {    // หาตัวคูณที่เหมาะสมเพื่อดึงหลักแรก    let factor = 1;    while (num / factor >= 10){       factor *= 10;    }    while (num) {       let first = Math.floor(num / factor);       let last = num % 10;       // ถ้าหลักแรกและหลักสุดท้ายไม่เหมือนกัน คืนค่า false       if (first != last){          return false;       }       // ลบหลักแรกและหลักสุดท้ายออกจากตัวเลข       num = Math.floor((num % factor) / 10);       // ลดตัวคูณลง 100 เท่า เพราะลบ 2 หลัก       factor = factor / 100;    }    return true; }; console.log(isPalindrome(123241)); console.log(isPalindrome(12321)); console.log(isPalindrome(145232541)); console.log(isPalindrome(1231));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

false true true false