Este é um método simples de criptografia que usa dígitos PI para codificar uma mensagem; o método é simples:
A chave é apenas um número inteiro positivo que indica onde a janela é iniciada:
Dada uma cadeia de caracteres para criptografar, contendo apenas letras minúsculas, sem espaços, você obtém seu comprimento e, em seguida, encontra o N-ésimo dígito do PI e, em seguida, muda cada letra para a direita pela quantidade indicada pelo dígito.
Por exemplo, se a chave é 2
e quero codificar house
, pego uma janela de 5 dígitos do segundo: 14159
e então ela se torna:
h -> i
o -> s
u -> v
s -> x
e -> n
a.- Seu programa / função / algoritmo receberá dois parâmetros, uma sequência composta apenas de letras minúsculas sem espaços e a chave, que será apenas um número inteiro positivo entre 1 (1 refere-se a 3) e 1000, o que poderia ser mais ou menos, pois não tenho certeza de quanto tempo leva para calcular o PI com a precisão, porque:
b.- Você deve calcular o PI por conta própria no código, aqui está uma página interessante para comparar com: Dia do Pi . A entrada nunca deve permitir que você calcule o PI além dos 1000 dígitos, o que significa que o comprimento (mensagem) + chave <= 1000.
Ao calcular o Pi, quero dizer não codificá-lo em seu código (bobagem para um código de golfe), nem usar qualquer constante incorporada em seu código, nem nenhuma identidade trigonométrica (2 * acos (0)) nem qualquer referência na web.
c.- A saída será apenas a string criptografada.
Esta é uma questão de código de golfe, código mais curto ganha!
Aceitarei a resposta vencedora em 14 de julho de 2014.
ArcCos(-1)
?