Jest to prosta metoda szyfrowania, która wykorzystuje cyfry PI do kodowania wiadomości, metoda jest prosta:
Klucz jest tylko dodatnią liczbą całkowitą, która wskazuje, gdzie zaczyna się okno:
Biorąc pod uwagę ciąg do zaszyfrowania, zawierający tylko małe litery, bez spacji, bierzesz jego długość, a następnie znajdujesz N-tą cyfrę PI, a następnie przesuwasz każdą literę w prawo o kwotę wskazaną przez cyfrę.
Na przykład, jeśli klucz jest 2
i chcę zakodować house
, wybieram okno z 5 cyframi z drugiego: 14159
i wtedy staje się:
h -> i
o -> s
u -> v
s -> x
e -> n
a.- Twój program / funkcja / algorytm otrzyma dwa parametry, ciąg złożony tylko z małych liter bez spacji i klucz, który będzie tylko dodatnią liczbą całkowitą od 1 (1 odnosi się do 3) do 1000, co może być więcej lub mniej, ponieważ nie jestem pewien, ile czasu zajmuje obliczenie PI z tą dokładnością, ponieważ:
b. - Musisz samodzielnie obliczyć PI w kodzie, oto fajna strona do porównania z: Dzień Pi . Dane wejściowe nigdy nie powinny wymagać obliczenia PI poza cyfrą 1000, co oznacza, że długość (komunikat) + klawisz <= 1000.
Przez obliczanie Pi mam na myśli nie kodowanie go w kodzie (głupie jak na golfa kodu), ani używanie żadnej wbudowanej stałej w kodzie, ani żadnej tożsamości trygonometrycznej (2 * acos (0)), ani żadnych odnośników do stron internetowych.
c. - Wynikiem będzie tylko zaszyfrowany ciąg.
To pytanie do kodu golfowego, wygrywa krótszy kod!
Zwycięską odpowiedź przyjmuję 14 lipca 2014 r.
ArcCos(-1)
?