Viết hàm đệ quy tính tích các chữ số của số nguyên. Nếu chữ số = 0 thì tính như 1.
Ví dụ
Số: 5720
Tích: 5 × 7 × 2 × 1 (0→1) = 70
Giải pháp
Mã triển khai:
const num = 5720;
const recursiveProduct = (num, res = 1) => {
if (num === 0) return res;
const digit = num % 10;
return recursiveProduct(Math.floor(num / 10), res * (digit || 1));
};
console.log(recursiveProduct(num));
Kết quả
Đầu ra trong console:
70
Giải thích: digit || 1 chuyển 0 thành 1. Đệ quy xử lý từ chữ số cuối (hàng đơn vị).