สร้างเลขใหม่จากหลักแรกและหลักสุดท้ายของตัวเลข แล้วหาความต่างกับตัวเลขเดิม
ตัวอย่าง
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 ตัวแรกและตัวสุดท้าย รวมกัน แปลงกลับเป็นตัวเลข