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

    solution

    Đề bài: [Kiến trúc máy tính] Giải mã Gray sang nhị phân hàng loạt

    Mã Gray là mã nhị phân trong đó hai giá trị liên tiếp chỉ khác nhau đúng 1 bit. Công thức chuyển từ Gray g về nhị phân b: b = g ⊕ (g >> 1) ⊕ (g >> 2) ⊕ ... (tích lũy XOR dịch phải), tương đương quét từ bit cao xuống thấp.

    Cho m mã Gray (cho dưới dạng số thập phân), hãy in giá trị nhị phân (thập phân) tương ứng của từng mã, cách nhau dấu cách trên một dòng.

    Ví dụ

    Gray 7 (111) → nhị phân 101 = 5. Gray 4 (100) → 111 = 7.

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

      Dòng 1: số lượng m. Dòng 2: m mã Gray dạng thập phân cách nhau bởi dấu cách.

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

      1 ≤ m ≤ 10^4, mỗi mã trong [0, 10^9].

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

      Một dòng: m giá trị thập phân sau giải mã, cách nhau bởi dấu cách.

    Ví dụ:

    Đầu vào:

    2
    7 4
    

    Đầu ra:

    5 7

    Giải thích:

    Gray 7 (111) giải mã thành 101 = 5; Gray 4 (100) giải mã thành 111 = 7.

    Đang tải editor...