หาผลคูณของตัวเลขทุกหลัก โดยถ้าหลักไหนเป็น 0 ให้ถือเป็น 1 (ไม่ให้ผลคูณเป็น 0)
ตัวอย่าง
5720 → 5 × 7 × 2 × 1(แทน 0) = 70
ตัวอย่างโค้ด
const num = 5720;
const recursiveProduct = (num, res = 1) => {
if (num) {
return recursiveProduct(Math.floor(num / 10), res * (num % 10 || 1));
}
return res;
};
console.log(recursiveProduct(num));
การทำงาน
num % 10ดึงหลักหน่วย|| 1ถ้าเป็น 0 ให้ใช้ 1 แทนMath.floor(num / 10)ตัดหลักหน่วยresสะสมผลคูณ
ผลลัพธ์
70