Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [JavaScript] Bộ đếm với closure

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 10: JavaScript căn bản (1): giới thiệu, biến, kiểu dữ liệu, toán tử, hàm — khóa Thiết kế Web

    Trang analytics cần theo dõi số lần người dùng nhấn nút. Viết hàm factory makeCounter(initial, step) trả về một object gồm 3 phương thức: inc() tăng counter theo step, dec() giảm theo step, value() trả về giá trị hiện tại. Yêu cầu: dùng closure, biến đếm KHÔNG được truy cập trực tiếp từ ngoài (chỉ thông qua method).

    Đọc input: dòng 1 chứa initial step. Dòng 2 chứa chuỗi lệnh (mỗi ký tự là một lệnh): '+' gọi inc, '-' gọi dec, '?' in ra value() (mỗi giá trị trên 1 dòng). Số lệnh '?' >= 1.

    • Định dạng đầu vào:

      Dòng 1: 'initial step' (2 số nguyên). Dòng 2: chuỗi gồm các ký tự '+', '-', '?'.

    • Ràng buộc đầu vào:

      -10^6 <= initial <= 10^6; 1 <= step <= 1000; 1 <= len(chuỗi lệnh) <= 1000

    • Định dạng đầu ra:

      Mỗi lệnh '?' in 1 dòng giá trị counter hiện tại.

    Ví dụ:

    Đầu vào:

    0 1
    +++?--?+?

    Đầu ra:

    3
    1
    2

    Giải thích:

    Bắt đầu 0. '+++' → 3. '?' in 3. '--' → 1. '?' in 1. '+' → 2. '?' in 2 → '3\n1\n2'.

    Chủ đề

    🌱 Nhập môn lập trình🟨 JavaScriptJavascriptJavaScript: HàmTất cả môn học

    Đang tải editor...