In questa sfida calcolerai i numeri da una sequenza curiosa.
Il tuo input è un singolo intero decimale non decimale. Invertire i bit in questo numero intero e quindi quadrare il numero per ottenere l'output richiesto.
Quando si invertono i bit non è necessario utilizzare zero iniziali nell'input. Per esempio:
26 (base 10) = 11010 (base 2) -> 01011 (base 2) = 11 -> 11*11 = 121
I primi 25 ingressi / uscite di questa sequenza:
0: 0
1: 1
2: 1
3: 9
4: 1
5: 25
6: 9
7: 49
8: 1
9: 81
10: 25
11: 169
12: 9
13: 121
14: 49
15: 225
16: 1
17: 289
18: 81
19: 625
20: 25
21: 441
22: 169
23: 841
24: 9
La tua soluzione dovrebbe funzionare con numeri interi di dimensioni arbitrarie. Se la tua lingua non ha un metodo incorporato conveniente per usarli, implementa la tua risposta come se lo fosse. Sei quindi scusato se la tua risposta si interrompe per numeri grandi. Tuttavia, non utilizzare trucchi / limiti che funzionano solo per un dominio limitato (come una tabella di ricerca).
Il tuo punteggio è il numero di byte del codice sorgente.
-50% di bonus se non converti mai il numero in / da binario. Questo non si limita ai builtin, se si esegue il ciclo sul numero bit per bit (spostando o mascherando o qualsiasi altro metodo), verrà conteggiato anche come conversione. Non so se questo sia effettivamente possibile, ma è un incentivo a individuare uno schema nella sequenza.
Il punteggio più piccolo vince.