Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Automat & NN hình thức] Kiểm tra số nhị phân chia hết cho k

    Một cách xây dựng DFA kinh điển là nhận diện các số chia hết cho k. Trạng thái chính là số dư hiện tại. Cho k và một chuỗi bit w (đọc như số nhị phân, bit trái là bit cao nhất). Hãy cho biết giá trị của w có chia hết cho k hay không bằng cách mô phỏng: r ← (r*2 + bit) mod k.

    Chuỗi rỗng biểu diễn giá trị 0 (chia hết cho mọi k).

    Ví dụ:

    Input:

    3
    110
    

    Output:

    YES
    
    • Định dạng đầu vào:
      • Dòng 1: số nguyên k.
      • Dòng 2: chuỗi bit w gồm các ký tự 0/1 (dùng - cho chuỗi rỗng).
    • Ràng buộc đầu vào:

      1 ≤ k ≤ 10^6, |w| ≤ 10^5.

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

      In YES nếu giá trị của w chia hết cho k, ngược lại in NO.

    Ví dụ:

    Đầu vào:

    3
    110

    Đầu ra:

    YES

    Giải thích:

    `110` nhị phân = 6, chia hết cho 3 nên in YES.

    Đang tải editor...