Mô tả
Đội cứu hộ kì trúc chè rừng Đà Lạt thường xuyên phải luồn rừng vượt suối để tiếp tế lương thực cho các trạm kính trên núi cao. Để tránh việc kẻ gian đổi trộm thông tin tiếp tế, trưởng đội quyết định áp dụng một mã hóa cổ điển: ROT-k, hay còn gọi là dạng Caesar dịch phải k vị trí.
Quy tắc rất đơn giản: với mỗi chữ cái trong lời nhắn, ta thay nó bằng chữ cái nằm cách nó k vị trí về phía sau trong bảng chữ cái tiếng Anh (vòng tròn). Chữ cái in hoa giữ nguyên in hoa, chữ thường giữ nguyên chữ thường. Các ký tự khác (chữ số, dấu câu, khoảng trắng) không bị thay đổi.
Ví dụ với k = 1, chữ A thành B, chữ z thành a. Nhiệm vụ của bạn là viết hàm mã hóa nhận vào lời nhắn gốc và số nguyên k, sau đó trả về chuỗi đã mã hóa.
Đầu vào
Hàm nhận hai tham số:
message(chuỗi): lời nhắn cần mã hóa, chỉ chứa các chữ cái tiếng Anh, chữ số, khoảng trắng và dấu câu đơn giản (dấu chấm, dấu phẩy).k(số nguyên không âm): bước nhảy dịch phải trong khoảng từ 0 đến 10^9.
Đầu ra
Trả về một chuỗi là lời nhắn sau khi mã hóa.
Ràng buộc
- Độ dài chuỗi
messagetừ 1 đến 1000 ký tự. knằm trong khoảng 0 đến 10^9 (bạn cần xử lý số lớn bằng cách lấy phần dư).
Ví dụ
Ví dụ 1
- Đầu vào:
message = "GAP TRAM",k = 3 - Đầu ra:
"JDS WUDP" - Giải thích:
G + 3 = J,A + 3 = D,P + 3 = S. Khoảng trắng giữ nguyên.T + 3 = W,R + 3 = U,A + 3 = D,M + 3 = P. Kết quả là"JDS WUDP".
Ví dụ 2
- Đầu vào:
message = "xyz ABC",k = 2 - Đầu ra:
"zab CDE" - Giải thích:
xdịch 2 thànhz,ydịch 2 thànha,zdịch 2 thànhb. Tương tựAthànhC,BthànhD,CthànhE. Chuỗi kết quả là"zab CDE".