В этом вопросе я определил «цепную» функцию как функцию, которая:
является перестановкой, означающей, что каждое значение отображается и сопоставляется ровно одним значением.
и позволяет любое значение может быть получено из любого другого значения путем повторного применения функции или ее обратного.
Есть много функций, которые делают это, и некоторые из них довольно просты (см. Ответы на этот вопрос). Теперь мы собираемся определить отдельный класс функций, которые я буду называть «переплетенными» функциями. Переплетены функция является функцией на множестве А , который имеет два бесконечных разделов 0 и 1 таким образом, что функция является функцией цепи на обоих в 0 и в 1 .
Это означает , что ни одно значение в виде 0 не может отображать до значения в виде 1 по функции или наоборот.
задача
Ваша задача - написать код, который выполняет или определяет переплетенную функцию для натуральных чисел. Ваша функция может быть чем угодно, если она удовлетворяет критериям для переплетения. Вы должны включить объяснение, почему ваша функция переплетена в ответе.
Это Код-гольф вопрос, поэтому ответы будут оцениваться в байтах, причем меньше байтов будет лучше.
Ответы:
Python,
464237 байт5 байтов сохранено благодаря @notjagan
Попробуйте онлайн!
Итерирует четные и нечетные числа с шагом 4 и ссылками на 2 и 3:
источник
JavaScript,
3024 байтаПоследовательности:
... 19 15 11 7 3 1 5 9 13 17 21 ...
... 18 14 10 6 2 4 8 12 16 20 24 ...
Фрагмент кода
источник
Дьялог АПЛ,
2422 байтаПопробуйте онлайн!
Те же цепочки, что и в моем питонском ответе .
источник