Eine Permutation eines Satzes ist eine bijektive Funktion . Wenn beispielsweise dann ist die Funktion \ pi: x \ mapsto 1 + (x + 1 \ mod 4) eine Permutation:
Wir können auch Permutationen für unendliche Mengen haben, nehmen wir als Beispiel : Die Funktion ist eine Permutation, bei der die ungeraden und geraden Zahlen vertauscht werden ganze Zahlen in Zweierblöcken. Die ersten Elemente sind wie folgt:
Herausforderung
Ihre Aufgabe für diese Herausforderung ist es, eine Funktion / ein Programm zu schreiben, das 1 beliebige Permutation auf die positiven natürlichen Zahlen implementiert . Die Punktzahl Ihrer Lösung ist die Summe der Codepunkte, nachdem sie mit der implementierten Permutation zugeordnet wurden.
Beispiel
Angenommen, wir nehmen die oben mit Python implementierte Permutation:
def pi(x):
return x - 1 + 2*(x % 2)
Das Zeichen d
hat den Codepunkt , . Wenn wir das für jeden Charakter machen, bekommen wir:
Die Summe aller dieser zugeordneten Zeichen ist Dies wäre die Punktzahl für diese Funktion.
Regeln
Sie implementieren eine Permutation entweder als Funktion oder als Programm
- eine natürliche Zahl gegeben , return / output
- zum Zweck dieser Herausforderung ist nicht enthalten
- Die Permutation muss eine unendliche Teilmenge von nicht trivial permutieren.
- Ihre Funktion / Ihr Programm darf keinen eigenen Quellcode lesen
Wertung
Die Punktzahl ergibt sich aus der Summe aller Codepunkte (Null Bytes sind möglicherweise nicht Teil des Quellcodes) unter dieser Permutation (die Codepunkte hängen von Ihrer Sprache 2 ab . Sie können SBCS, UTF-8 usw. so lange verwenden, wie Sie möchten) Ihre Sprache unterstützt es).
Die Einsendung mit der niedrigsten Punktzahl gewinnt, Unentschieden werden durch die früheste Einsendung unterbrochen.
Mit Ausnahme von Permutationen, die nur eine endliche Teilmenge von permutieren , was bedeutet, dass die Menge muss unendlich sein.
Wenn es Ihre Punktzahl verbessert, können Sie zum Beispiel eine UTF-8-codierte Jelly-Einreichung anstelle des üblichen SBCS verwenden.