Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số Tidy (số có chữ số không giảm) - JavaScript

Số Tidy là số có các chữ số được sắp xếp theo thứ tự không giảm (tức là mỗi chữ số đều lớn hơn hoặc bằng chữ số trước nó). Chúng ta cần viết hàm kiểm tra một số có phải là số Tidy hay không.

Ví dụ

  • 489 là số Tidy
  • 234557 cũng là số Tidy
  • 34535 không phải số Tidy (vì 3 < 5)

Giải pháp (Đệ quy)

Mã triển khai:

const num = 234789;
const isTidy = (num, last = 10) => {
  if (num) {
    // Lấy chữ số cuối (từ phải sang trái)
    if (num % 10 > last) {
      return false;
    }
    // Đệ quy với phần còn lại
    return isTidy(Math.floor(num / 10), num % 10);
  }
  return true;
};

console.log(isTidy(num));

Kết quả

Đầu ra trong console:

true

Giải thích: Hàm duyệt từ chữ số cuối về đầu, so sánh với chữ số trước đó (được lưu trong last). Nếu chữ số hiện tại > last thì vi phạm quy tắc không giảm.