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

    solution

    Đề bài: [Mạng máy tính] Adler-32 checksum

    Tính Adler-32 của một chuỗi ASCII:

    • A = 1, B = 0, MOD = 65521.
    • Với mỗi byte: A = (A + byte) % MOD, B = (B + A) % MOD.
    • Checksum = (B << 16) | A.

    In dạng 8 chữ số hệ 16 chữ thường có đệm 0. Chỉ dùng thư viện chuẩn (không gọi zlib).

    Ví dụ

    Chuỗi Wikipedia cho Adler-32 11e60398.

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

      Một dòng chứa chuỗi ASCII (có thể rỗng).

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

      0 ≤ độ dài ≤ 10000. Ký tự ASCII in được.

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

      In một dòng: Adler-32 dạng 8 chữ số hệ 16 chữ thường.

    Ví dụ:

    Đầu vào:

    Wikipedia
    

    Đầu ra:

    11e60398

    Giải thích:

    A,B chạy qua từng byte mod 65521; với 'Wikipedia' cho A=0x0398, B=0x11e6 → checksum 11e60398.

    Đang tải editor...