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

หาความต่างระหว่างตัวเลขกับเลขมุม (Corner Digits) - JavaScript

สร้างเลขใหม่จากหลักแรกและหลักสุดท้ายของตัวเลข แล้วหาความต่างกับตัวเลขเดิม

ตัวอย่าง

34567 → Corner: 37 → 34567 - 37 = 34530

ตัวอย่างโค้ด

const cornerDifference = num => {
  const absNum = Math.abs(num);
  const lastDigit = absNum % 10;
  
  let firstDigit = absNum;
  while (firstDigit >= 10) {
    firstDigit = Math.floor(firstDigit / 10);
  }
  
  const corner = firstDigit * 10 + lastDigit;
  return num - corner;
};

console.log(cornerDifference(34567));

ผลลัพธ์

34530

วิธีแบบ String (เข้าใจง่ายกว่า)

const cornerDifference = num => {
  const str = String(Math.abs(num));
  const corner = +(str[0] + str[str.length - 1]);
  return num - corner;
};

แปลงเป็นสตริง ดึง char ตัวแรกและตัวสุดท้าย รวมกัน แปลงกลับเป็นตัวเลข