Băng Turing
Đề bài
Mô tả
Phương pháp Băng Turing chuyển một dãy số nguyên không dấu 8 bit thành chuỗi ký tự ASCII theo quy trình sau.
Các phần tử của dãy được xử lý lần lượt, bắt đầu từ phần tử thứ nhất. Việc xử lý phần tử thứ gồm ba bước:
- Đảo ngược biểu diễn nhị phân 8 bit của mã ASCII của ký tự đã được in ra ngay trước đó. Với phần tử đầu tiên, kết quả của bước này được coi là .
- Lấy kết quả của bước trên trừ đi phần tử thứ của dãy, theo modulo .
- Đảo ngược biểu diễn nhị phân 8 bit của kết quả bước 2 để được mã ASCII của ký tự thứ cần in ra.
Cho trước chuỗi văn bản đã được in bằng phương pháp trên, hãy khôi phục dãy số ban đầu.
Dữ liệu vào
Một dòng duy nhất chứa chuỗi văn bản . Chuỗi có độ dài từ đến ký tự. Mã ASCII của mỗi ký tự trong nằm trong đoạn (từ dấu cách đến dấu ngã).
Dữ liệu ra
In ra dãy số ban đầu, mỗi số trên một dòng. Mỗi số là một số nguyên không dấu 8 bit (từ đến ).
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| Hello, World! | 238 108 112 0 64 194 48 26 244 168 24 16 162 |
Ký tự đầu là "H" mã ASCII . Đảo bit được . Kết quả bước 1 với phần tử đầu là , nên phần tử đầu tiên là . |
| o2^"t | 10 170 210 54 22 |
Chuỗi đầu vào dài ký tự nên dãy đầu ra có số. |
Bình luận