Una permutazione di un insieme è una biunivoca funzione di . Ad esempio, se la funzione è una permutazione:
Possiamo anche avere permutazioni su insiemi infiniti, prendiamo ad esempio : La funzione è una permutazione, scambiando il pari e dispari numeri interi in blocchi di due. I primi elementi sono i seguenti:
Sfida
Il tuo compito per questa sfida è quello di scrivere una funzione / programma implementando 1 permutazione sui numeri naturali positivi. Il punteggio della tua soluzione è la somma dei punti di codice dopo averli mappati con la permutazione implementata.
Esempio
Supponiamo di prendere la permutazione sopra implementata con Python:
def pi(x):
return x - 1 + 2*(x % 2)
Il carattere d
ha un punto di codice , . Se lo facciamo per ogni personaggio, otteniamo:
La somma di tutti questi caratteri mappati è , questo sarebbe il punteggio per quella funzione.
Regole
Implementerai una permutazione come funzione o programma
- dato un numero naturale , return / output
- per lo scopo di questa sfida non non contiene
- la permutazione deve permutare in modo non banale un sottoinsieme infinito di
- la tua funzione / programma non è autorizzato a leggere la propria fonte
punteggio
Il punteggio è dato dalla somma di tutti i punti di codice (zero byte potrebbero non far parte del codice sorgente) in base a tale permutazione (i punti di codice dipendono dalla tua lingua 2 , sei libero di usare SBCS, UTF-8 ecc. Purché la tua lingua lo supporta).
La presentazione con il punteggio più basso vince, i legami vengono interrotti dalla prima presentazione.
Ad eccezione delle permutazioni che consentono solo un sottoinsieme finito di , il che significa che l'insieme deve essere infinito.
Se migliora il tuo punteggio, puoi ad esempio utilizzare un invio Jelly codificato UTF-8 invece del solito SBCS.