Cho chuỗi chữ thường text và khóa key. Mã hóa bằng cách dịch chuyển mỗi ký tự text[i] sang phải theo offset của key[i] (A=0, B=1,...). Nếu tràn thì vòng lại.
Ví dụ, text = "code", key = "team", đầu ra "vsdq".
Các bước giải quyết:
cip:= danh sách rỗng.start := ord('a').- Duyệt đồng thời
ltừtextvàktừkey:shift = ord(k) - start.pos = start + (ord(l) - start + shift) % 26.- Thêm
chr(pos)vàocip.
- Nối các ký tự trong
cipvà trả về.
Ví dụ minh họa
class Solution:
def solve(self, text, key):
cip = []
start = ord('a')
for l, k in zip(text, key):
shift = ord(k) - start
pos = start + (ord(l) - start + shift) % 26
cip.append(chr(pos))
return ''.join(cip)
ob = Solution()
text = "code"
key = "team"
print(ob.solve(text, key))
Đầu vào
"code", "team"
Đầu ra
vsdq