Atenção: este NÃO é um desafio "ei, vamos desenhar um bolo na arte ASCII"! Por favor, continue lendo;)
Algum tempo atrás, era meu aniversário, agora tenho 33 anos.
Portanto, existe essa tradição social embaraçosa que consiste em convidar familiares e amigos, colocar velas numéricas em um bolo, cantar músicas e abrir presentes.
33
--------
Em vez de números, posso usar o sistema binário para colocar velas comuns: coloco 6 delas no bolo e acendo duas delas.
100001
--------
Eu posso ver que os números decimais e binários da minha idade são palindrômicos!
Desafio
Quero saber se qualquer outro número pode ser colocado em um bolo com velas e ser palindrômico, decimal e binário.
Escrever uma função / programa para testar se um número é palíndromo em ambos decimal e binário. Mas espere, há mais: em zeros binários e principais contam para o teste!
Entrada
Um número decimal x que eu quero testar se for aniversário palindrômico com 0 <x <2 32 -1 (sim, as pessoas da minha dimensão vivem muito tempo)
Saída
Na verdade, se atender exatamente a essas duas condições, Falsey mais:
- A representação decimal do número é um palíndromo padrão
- A representação binária do número é um palíndromo padrão e a adição de zeros à esquerda pode ajudar com isso
Casos de teste
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
Regras
- As brechas padrão não são permitidas
- Conversões e testes internos da biblioteca são permitidos
- Este é o código-golfe , o menor ganho de código!
Boa sorte e, finalmente, feliz aniversário!
0b01010000000000000000000000000000
não é palindrômico, pois exigiria que mais zeros fossem adicionados e, portanto, excedesse 2 ^ 32-1? Nesse caso, ajudaria a adicionar algo como 1342177280
um caso de teste de Falsey.
1342177280
não é palindrômico decimal, então Falsey. Edição