หาตัวเลขที่มากที่สุดและน้อยที่สุดในหลักของตัวเลข แล้วคำนวณความต่าง
ตัวอย่าง
44353456 → หลักมากสุด = 6, น้อยสุด = 3 → ความต่าง = 3
ตัวอย่างโค้ด (Recursive)
const num = 44353456;
const difference = (num, min = Infinity, max = -Infinity) => {
if (num) {
const digit = num % 10;
return difference(Math.floor(num / 10), Math.min(digit, min), Math.max(digit, max));
}
return max - min;
};
console.log(difference(num));
ผลลัพธ์
3
วิธีแบบ Iterative (เข้าใจง่ายกว่า)
const difference = num => {
const digits = String(Math.abs(num)).split('').map(Number);
return Math.max(...digits) - Math.min(...digits);
};
แปลงเป็นสตริง → แยกตัวอักษร → แปลงเป็นตัวเลข → หา max/min