
caesarBoxCipherEncoding
Caesar Box là một mật mã chuyển vị đơn giản được sử dụng trong Đế chế La Mã. Nó được mô tả bằng 2 bước dưới đây:
- Các ký tự của thông điệp đã cho được chia thành
n
dòng có độ dài bằng nhau và xếp chồng lên nhau; - Các chữ cái từ hình chữ nhật tìm được được viết từ trên xuống dưới theo cột dọc.
Cho một từ, đếm số n
khác nhau sao cho tin nhắn thu được bằng cách mã hoá 2 lần giống như tin nhắn ban đầu.
Ví dụ
- Với
message = "abaaba"
, đầu ra làcaesarBoxCipherEncoding2(message) = 2
.
Không thể áp dụng thuật toán mã hoá chon = 2
hayn = 3
.
n = 2
:-
Mã hoá đầu tiên:
"abaaba" -> "aabbaa"
;aba aba
-
Mã hoá thứ hai:
"aabbaa" -> "abaaba"
.aab baa
-
n = 3
:-
Mã hoá đầu tiên:
"abaaba" -> "aabbaa"
;ab aa ba
-
Mã hoá thứ hai:
"aabbaa" -> "abaaba"
.aa bb aa
-
Đầu vào/Đầu ra
-
[giới hạn thời gian chạy] 0.5 giây
-
[đầu vào] string message
Điều kiện tiền đề:
4 ≤ message.length ≤ 100
. -
[đầu ra] integer
số lượngn
s được mô tả ở trên sao cho1 < n < message.length
.
Post Comment