Dans cette question, j'ai défini une fonction "chaîne" comme une fonction qui:
est une permutation, ce qui signifie que chaque valeur correspond à et est mappée à exactement une valeur.
et permet que toute valeur puisse être obtenue à partir de toute autre valeur par des applications répétées de la fonction ou de son inverse.
Il y a beaucoup de fonctions qui font cela et certaines d'entre elles sont assez simples (voir les réponses à cette question). Maintenant, nous allons définir une classe distincte de fonctions que je vais appeler des fonctions "entrelacées". Une fonction entrelacée est une fonction sur un ensemble A , qui a deux partitions infinies a 0 et a 1 telles que la fonction est une fonction de chaîne à la fois sur un 0 et un 1 .
Cela signifie qu'aucune valeur dans un 0 ne peut correspondre à une valeur dans un 1 sous la fonction ou vice versa.
Tâche
Votre tâche consiste à écrire un code qui exécute ou définit une fonction entrelacée sur les entiers positifs. Votre fonction peut être n'importe quoi tant qu'elle répond aux critères d'être entrelacée. Vous devez inclure une explication de la raison pour laquelle votre fonction est imbriquée dans la réponse.
Il s'agit d'une question de code-golf, donc les réponses seront notées en octets, avec moins d'octets étant mieux.
Réponses:
Python,
464237 octets5 octets enregistrés grâce à @notjagan
Essayez-le en ligne!
Itère les nombres pairs et impairs avec des étapes de 4 et des liens sur 2 et 3:
la source
JavaScript,
3024 octetsSéquences:
... 19 15 11 7 3 1 5 9 13 17 21 ...
... 18 14 10 6 2 4 8 12 16 20 24 ...
Extrait de code
la source
Dyalog APL,
2422 octetsEssayez-le en ligne!
Mêmes chaînes que ma réponse en python .
la source