Đây là một phương thức mã hóa đơn giản sử dụng các chữ số PI để mã hóa tin nhắn, phương thức này rất đơn giản:
Khóa chỉ là một số nguyên dương cho biết nơi cửa sổ bắt đầu sau đó:
Đưa ra một chuỗi để mã hóa, chỉ chứa các chữ cái viết thường, không có khoảng trắng, bạn lấy độ dài của nó, sau đó bạn tìm chữ số thứ N của PI và sau đó tiến hành dịch chuyển từng chữ cái sang bên phải với số lượng được chỉ định bởi chữ số.
Ví dụ: nếu khóa là 2
và tôi muốn mã hóa house
, tôi lấy một cửa sổ gồm 5 chữ số từ số thứ hai: 14159
và sau đó nó trở thành:
h -> i
o -> s
u -> v
s -> x
e -> n
a.- Chương trình / hàm / thuật toán của bạn sẽ nhận được hai tham số, một chuỗi chỉ gồm các chữ cái thường không có khoảng trắng và khóa, sẽ chỉ là một số nguyên dương giữa 1 (1 đề cập đến 3) và 1000, có thể nhiều hơn hoặc ít hơn vì tôi không chắc chắn sẽ mất bao lâu để tính PI với độ chính xác đã nói vì:
b.- Bạn phải tự tính toán PI trong mã của mình, đây là một trang web gọn gàng để so sánh với: Ngày Pi . Đầu vào không bao giờ khiến bạn tính PI vượt quá 1000 chữ số, nghĩa là độ dài (tin nhắn) + khóa <= 1000.
Bằng cách tính toán Pi, tôi có nghĩa là không mã hóa nó trong mã của bạn (ngớ ngẩn cho một mã golf) cũng như không sử dụng bất kỳ hằng số nhúng nào trong mã của bạn cũng như bất kỳ nhận dạng lượng giác nào (2 * acos (0)) cũng như bất kỳ tham chiếu web nào.
c.- Đầu ra sẽ chỉ là chuỗi được mã hóa.
Đây là một câu hỏi golf mã, chiến thắng mã ngắn hơn!
Tôi sẽ chấp nhận câu trả lời chiến thắng vào ngày 14 tháng 7 năm 2014.
ArcCos(-1)
?