Permutacji w zbiorze jest bijective funkcja . Na przykład, jeśli to funkcja jest permutacją:
Możemy również mieć permutacje na zestawach nieskończonych, weźmy na przykład : Funkcja jest permutacją, zamieniając nieparzyste i parzyste liczby całkowite w blokach po dwa. Pierwsze elementy są następujące:
Wyzwanie
Twoim zadaniem w tym wyzwaniu jest napisanie funkcji / programu implementującego dowolną 1 permutację na dodatnich liczbach naturalnych. Wynik twojego rozwiązania to suma współrzędnych kodowych po zmapowaniu ich za pomocą zaimplementowanej permutacji.
Przykład
Załóżmy, że bierzemy powyższą permutację zaimplementowaną w Pythonie:
def pi(x):
return x - 1 + 2*(x % 2)
Znak d
ma punkt kodowy , . Jeśli zrobimy to dla każdej postaci, otrzymamy:
Suma wszystkich tych odwzorowanych znaków wynosi , byłby to wynik dla tej funkcji.
Zasady
Zaimplementujesz permutację jako funkcję lub program
- podana liczba naturalna , return / output
- do celów niniejszego prowokacji jest nie zawierają
- permutacja musi nietrywialnie permutować nieskończony podzbiór
- twoja funkcja / program nie może czytać własnego źródła
Punktacja
Wynik jest sumą wszystkich punktów kodowych (zero bajtów może nie być częścią kodu źródłowego) w ramach tej permutacji (punkty kodowe zależą od Twojego języka 2 , możesz swobodnie korzystać z SBCS, UTF-8 itp., O ile Twój język to obsługuje).
Zgłoszenie z najniższą liczbą punktów wygrywa, remisy są przerywane przez najwcześniejsze zgłoszenie.
Z wyjątkiem permutacji, które dopuszczają tylko skończony podzbiór , co oznacza, że zestaw musi być nieskończony.
Jeśli poprawi to twój wynik, możesz na przykład użyć przesyłania galaretki zakodowanego w UTF-8 zamiast zwykłego SBCS.