이것은 PI 숫자를 사용하여 메시지를 인코딩하는 간단한 암호화 방법입니다. 방법은 간단합니다.
키는 윈도우가 시작되는 위치를 나타내는 양의 정수입니다.
공백이없는 소문자 만 포함하고 암호화 할 문자열이 주어지면 길이를 가져 와서 PI의 N 번째 숫자를 찾은 다음 숫자로 표시된 양만큼 모든 문자를 오른쪽으로 이동합니다.
예를 들어 키가 2
있고 인코딩하고 싶다면 house
두 번째 숫자에서 5 자리의 창을 가져 와서 14159
다음과 같이합니다.
h -> i
o -> s
u -> v
s -> x
e -> n
프로그램 / 함수 / 알고리즘은 공백이없는 소문자로만 구성된 문자열과 키 (1 (1은 3을 나타냄)와 1000 사이의 양의 정수) 인 두 개의 매개 변수를 수신합니다. 또는 다음과 같은 이유로 정확한 정확도로 PI를 계산하는 데 시간이 얼마나 걸리는지 잘 모르겠습니다.
b.- 코드에서 직접 PI를 계산해야합니다. 다음은 깔끔한 웹 페이지입니다. Pi Day . 입력에서 1000 자리를 초과하여 PI를 계산해서는 안됩니다. 즉 length (message) + key <= 1000을 의미합니다.
Pi를 계산한다는 것은 코드에서 코드를 코드화하거나 (코드 골프에 적합하지 않음) 코드에 포함 된 상수 나 삼각 식별자 (2 * acos (0)) 또는 웹 참조를 사용하지 않는다는 의미입니다.
c.- 출력은 암호화 된 문자열입니다.
이것은 코드 골프 질문이며 짧은 코드가 승리합니다!
2014 년 7 월 14 일에 당첨 답변을 수락합니다.
ArcCos(-1)
?