Viết hàm đệ quy JavaScript nhận vào một số và trả về chữ số lớn nhất trong số đó.
Ví dụ
Số: 45654356
Chữ số lớn nhất: 6
Giải pháp
Mã triển khai đệ quy:
const num = 45654356;
const greatestDigit = (num = 0, greatest = 0) => {
if (num) {
// So sánh chữ số cuối với max hiện tại
const max = Math.max(num % 10, greatest);
// Đệ quy với phần còn lại (bỏ chữ số cuối)
return greatestDigit(Math.floor(num / 10), max);
}
return greatest;
};
console.log(greatestDigit(num));
Kết quả
Đầu ra trong console:
6
Cách hoạt động: Hàm lấy chữ số cuối (num % 10), so sánh với max hiện tại, sau đó gọi đệ quy với Math.floor(num / 10) (bỏ chữ số cuối).