Une permutation d'un ensemble est une bijective fonction . Par exemple, si alors la fonction est une permutation:
Nous pouvons également avoir des permutations sur des ensembles infinis, prenons comme exemple: La fonction est une permutation, permutant l'impair et même entiers par blocs de deux. Les premiers éléments sont les suivants:
Défi
Votre tâche pour ce défi est d'écrire une fonction / programme mettant en oeuvre une 1 permutation sur les nombres naturels positifs. Le score de votre solution est la somme des points de code après leur mise en correspondance avec la permutation implémentée.
Exemple
Supposons que nous prenions la permutation ci-dessus implémentée avec Python:
def pi(x):
return x - 1 + 2*(x % 2)
Le caractère d
a un point de code , . Si nous faisons cela pour chaque personnage, nous obtenons:
La somme de tous ces caractères mappés est , ce serait le score de cette fonction.
Règles
Vous allez implémenter une permutation en tant que fonction ou programme
- étant donné un nombre naturel , retour / sortie
- aux fins de ce défi ne contient pas
- la permutation doit permuter non trivialement un sous-ensemble infini de
- votre fonction / programme n'est pas autorisé à lire sa propre source
Notation
Le score est donné par la somme de tous les points de code (zéro octet peut ne pas faire partie du code source) sous cette permutation (les points de code dépendent de votre langue 2 , vous êtes libre d'utiliser SBCS, UTF-8, etc. tant que votre langue le prend en charge).
La soumission avec le score le plus bas gagne, les égalités sont rompues par la soumission la plus ancienne.
À l'exception des permutations qui ne permutent qu'un sous-ensemble fini de , ce qui signifie que l'ensemble doit être infini.
Si cela améliore votre score, vous pouvez par exemple utiliser une soumission Jelly encodée en UTF-8 au lieu du SBCS habituel.