Uma permutao de um conjunto é um bijective função . Por exemplo, se , a função é uma permutação:
Também podemos ter permutações em conjuntos infinitos, vamos como exemplo: A função é uma permutação, trocando o ímpar e o par inteiros em blocos de dois. Os primeiros elementos são os seguintes:
Desafio
Sua tarefa para esse desafio é escrever uma função / programa implementando qualquer permutação 1 nos números naturais positivos. A pontuação da sua solução é a soma dos pontos de código após o mapeamento com a permutação implementada.
Exemplo
Suponha que tomemos a permutação acima implementada com Python:
def pi(x):
return x - 1 + 2*(x % 2)
O caractere d
possui o ponto de código , . Se fizermos isso para cada personagem, obtemos:
A soma de todos esses caracteres mapeados é , essa seria a pontuação dessa função.
Regras
Você implementará uma permutação como uma função ou programa
- dado um número natural , retorno / saída
- com a finalidade de este desafio que não contêm
- a permutação não deve permutar trivialmente um subconjunto infinito de
- sua função / programa não tem permissão para ler sua própria fonte
Pontuação
A pontuação é dada pela soma de todos os pontos de código (zero bytes pode não fazer parte do código-fonte) sob essa permutação (os pontos de código dependem do seu idioma 2 , você pode usar o SBCS, UTF-8 etc., desde que seu idioma suporta).
A finalização com a menor pontuação vence; os empates são interrompidos pela finalização mais antiga.
Exceto as permutações que apenas permitem um subconjunto finito de , significando que o conjunto deve ser infinito.
Se melhorar sua pontuação, você pode, por exemplo, usar um envio Jelly codificado em UTF-8 em vez do SBCS usual.