Це простий метод шифрування, який використовує PI-цифри для кодування повідомлення, метод простий:
Ключ - це лише додатне ціле число, яке вказує, звідки починається вікно:
Давши рядок для шифрування, що містить лише малі літери, без пробілів, ви берете його довжину, потім знаходите N-ту цифру PI і переходите до зміщення кожної літери праворуч на суму, вказану цифрою.
Наприклад, якщо ключ є 2
і я хочу кодувати house
, я беру вікно з 5 цифр з другого: 14159
і тоді воно стає:
h -> i
o -> s
u -> v
s -> x
e -> n
a.- Ваша програма / функція / алгоритм отримає два параметри - рядок, складений лише з малих літер без пробілів, і ключ, який буде просто позитивним цілим числом між 1 (1 відноситься до 3) і 1000, що може бути більше або менше, оскільки я не зовсім впевнений, скільки часу потрібно для обчислення PI з вказаною точністю, оскільки:
b.- Ви повинні самі обчислити PI у своєму коді, ось охайна веб-сторінка для порівняння з: Pi Day . Вхід ніколи не повинен обчислювати PI понад 1000 цифр, тобто довжина (повідомлення) + ключ <= 1000.
Обчислюючи Pi, я маю на увазі не кодувати його у своєму коді (нерозумно для гольфу з кодом) і не використовувати будь-яку вбудовану константу у своєму коді, ані тригонометричну ідентичність (2 * acos (0)), ані будь-яку веб-посилання.
c.- Вихід буде просто зашифрованим рядком.
Це кодове питання про гольф, коротший виграш коду!
Я прийму виграшну відповідь 14 липня 2014 року.
ArcCos(-1)
?