sfondo
È ben noto in matematica che gli interi possono essere messi in una corrispondenza uno a uno con coppie di interi. Ci sono molti modi possibili per farlo, e in questa sfida, implementerai uno di essi e la sua operazione inversa.
L'obiettivo
Il tuo input è un numero intero positivo n > 0
. È noto che esistono numeri interi non negativi univoci a, b ≥ 0
tali . Il tuo output è la "versione capovolta" di , il numero intero positivo .n == 2a * (2*b + 1)
n
2b * (2*a + 1)
Puoi presumere che l'input e l'output si adattino al tipo di dati intero senza segno standard della tua lingua.
Regole e punteggio
È possibile scrivere un programma completo o una funzione. Vince il conteggio di byte più basso e non sono consentite scappatoie standard.
Casi test
Questi sono indicati nel formato in <-> out
, poiché la funzione da implementare è la sua inversa: se gli restituisci l'output, dovresti ottenere l'input originale.
1 <-> 1
2 <-> 3
4 <-> 5
6 <-> 6
7 <-> 8
9 <-> 16
10 <-> 12
11 <-> 32
13 <-> 64
14 <-> 24
15 <-> 128
17 <-> 256
18 <-> 48
19 <-> 512
20 <-> 20
28 <-> 40
30 <-> 384
56 <-> 56
88 <-> 224
89 <-> 17592186044416
Classifica
Ecco uno snippet di stack per generare sia una classifica regolare che una panoramica dei vincitori per lingua. Per assicurarti che la tua risposta venga visualizzata, ti preghiamo di iniziare la risposta con un titolo, usando il seguente modello Markdown:
## Language Name, N bytes
dov'è N
la dimensione del tuo invio. Se si migliora il punteggio, è possibile mantenere i vecchi punteggi nel titolo, colpendoli. Per esempio:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Se si desidera includere più numeri nell'intestazione (ad es. Perché il punteggio è la somma di due file o si desidera elencare separatamente le penalità del flag dell'interprete), assicurarsi che il punteggio effettivo sia l' ultimo numero nell'intestazione:
## Perl, 43 + 2 (-p flag) = 45 bytes
Puoi anche rendere il nome della lingua un collegamento che verrà quindi visualizzato nello snippet della classifica:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes