Attenzione: questa NON è una sfida "hey, disegniamo una torta in arte ASCII"! Continua a leggere;)
Qualche tempo fa era il mio compleanno, ho 33 anni.
Quindi c'è questa imbarazzante tradizione sociale che consiste nell'invitare parenti e amici, mettere candele a forma di numero su una torta, cantare canzoni e regali aperti.
33
--------
Invece di numeri, posso usare il sistema binario per mettere candele standard: ne metto 6 sulla torta e ne accendo due.
100001
--------
Vedo che sia i numeri decimali che quelli binari della mia età sono palindromici!
Sfida
Voglio sapere se qualsiasi altro numero può essere messo su una torta con candele ed essere palindromico, decimale e binario.
Scrivi un programma / funzione per verificare se un numero è palindromico sia in decimale che binario. Ma aspetta, c'è di più: in binario, gli zeri iniziali contano per il test!
Ingresso
Un numero decimale x che voglio testare se è compleanno palindromico con 0 <x <2 32 -1 (sì, le persone nella mia dimensione vivono molto a lungo)
Produzione
Sinceramente se soddisfa esattamente queste due condizioni, Falsey altro:
- La rappresentazione decimale del numero è un palindromo standard
- La rappresentazione binaria del numero è un palindromo standard e l'aggiunta di zeri iniziali può essere di aiuto
Casi test
1 > 1 => Truthy
6 > 110 (0110) => Truthy
9 > 1001 => Truthy
10 > 1010 (01010) => Falsey, 10 is not palindromic
12 => 1100 (001100) => Falsey, 12 is not palindromic
13 => 1101 (...01101) => Falsey, neither 13 nor 1101 are palindromic
14 => 1110 (01110) => Falsey, 14 is not palindromic
33 > 100001 => Truthy
44 > 101100 (..0101100) => Falsey, 101100 is not palindromic
1342177280 > 1010000000000000000000000000000 (00000000000000000000000000001010000000000000000000000000000) => Falsey, 1342177280 is not palindromic (but the binary representation is)
297515792 > 10001101110111011101100010000 (000010001101110111011101100010000) => Truthy
Regole
- Le scappatoie standard non sono ammesse
- Sono consentite conversioni e test di libreria incorporati
- Questo è code-golf , il codice più corto vince!
Buona fortuna e infine buon compleanno!
0b01010000000000000000000000000000
non è palindromico in quanto richiederebbe l'aggiunta di più zero e quindi il superamento di 2 ^ 32-1? In questo caso, sarebbe utile aggiungere qualcosa come 1342177280
un caso di prova di falsi.
1342177280
non è un decimale palindromico, quindi Falsey. Modifica