Em esta pergunta que eu definida uma função de "cadeia" como uma função que:
é uma permutação, o que significa que todo valor é mapeado para e é mapeado exatamente por um valor.
e permite que qualquer valor possa ser obtido de qualquer outro valor por aplicações repetidas da função ou seu inverso.
Existem muitas funções que fazem isso e algumas são bem simples (veja as respostas nessa pergunta). Agora vamos definir uma classe separada de funções que chamarei de funções "entrelaçadas". Uma função entrelaçados é uma função em um conjunto Um , que possui duas partições infinitas um 0 e um 1 de tal modo que a função é uma função de cadeia tanto um 0 e um 1 .
Isto significa que nenhum valor de um 0 pode mapear para um valor em um 1 sob a função ou vice-versa.
Tarefa
Sua tarefa é escrever um código que execute ou defina uma função entrelaçada nos números inteiros positivos. Sua função pode ser qualquer coisa, desde que satisfaça os critérios de interligação. Você deve incluir uma explicação sobre por que sua função está entrelaçada na resposta.
Esta é uma questão de código-golfe, para que as respostas sejam pontuadas em bytes, com menos bytes sendo melhores.
Respostas:
Python,
464237 bytes5 bytes salvos graças a @notjagan
Experimente online!
Repete os números pares e ímpares com as etapas de 4 e os links 2 e 3:
fonte
JavaScript,
3024 bytesSequências:
... 19 15 11 7 3 1 5 9 13 17 21 ...
... 18 14 10 6 2 4 8 12 16 20 24 ...
Fragmento de código
fonte
Dyalog APL,
2422 bytesExperimente online!
Mesmas cadeias que minha resposta python .
fonte