W tym pytaniu zdefiniowałem funkcję „łańcucha” jako funkcję, która:
jest permutacją, co oznacza, że każda wartość jest odwzorowywana na i jest odwzorowywana przez dokładnie jedną wartość.
i pozwala na uzyskanie dowolnej wartości z dowolnej innej wartości przez wielokrotne zastosowanie funkcji lub jej odwrotności.
Jest wiele funkcji, które to robią, a niektóre z nich są dość proste (zobacz odpowiedzi na to pytanie). Teraz zdefiniujemy osobną klasę funkcji, które zamierzam nazwać funkcjami „przeplatanymi”. Przeplatanego funkcja jest funkcją na zbiorze A , który zawiera dwie przegrody nieskończone 0 i 1 tak, że funkcja jest funkcją zarówno łańcuch a 0 a a 1 .
Oznacza to, że ma wartość w 0 można odwzorować na wartości o 1 za pomocą funkcji lub vice versa.
Zadanie
Twoim zadaniem jest napisanie kodu, który wykonuje lub definiuje funkcję przeplataną na dodatnich liczbach całkowitych. Twoja funkcja może być dowolna, o ile spełnia kryteria przeplatania się. Powinieneś dołączyć wyjaśnienie, dlaczego twoja funkcja jest wpleciona w odpowiedź.
To jest golf-golf pytanie, więc odpowiedzi będą oceniane w bajtach, przy czym mniej bajtów jest lepszych.