Advertencia: ¡este NO es un desafío de "oye, dibujemos un pastel en el arte ASCII"! Por favor sigue leyendo;)
Hace algún tiempo era mi cumpleaños, ahora tengo 33 años.
Por lo tanto, existe esta incómoda tradición social que consiste en invitar a familiares y amigos, poner velas con números en un pastel, cantar canciones y abrir regalos.
33
--------
En lugar de números, puedo usar el sistema binario para poner velas estándar: coloco 6 de ellas en el pastel y enciendo dos.
100001
--------
¡Puedo ver que los números decimales y binarios de mi edad son palindrómicos!
Reto
Quiero saber si cualquier otro número se puede poner en un pastel con velas y ser palindrómico, decimal y binario.
Escriba un programa / función para probar si un número es palindrómico tanto en decimal como en binario. Pero espera, hay más: ¡ en binario, los ceros iniciales cuentan para la prueba!
Entrada
Un número decimal x que quiero probar si es un cumpleaños palindrómico con 0 <x <2 32 -1 (sí, las personas en mi dimensión viven mucho tiempo)
Salida
Verdad si cumple exactamente estas dos condiciones, Falsey más:
- La representación decimal del número es un palíndromo estándar.
- La representación binaria del número es un palíndromo estándar, y agregar ceros a la izquierda puede ayudar con esto
Casos de prueba
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
Reglas
- Las lagunas estándar no están permitidas
- Se permiten conversiones y pruebas de biblioteca incorporadas.
- Este es el código de golf , ¡el código más corto gana!
¡Buena suerte y, finalmente, feliz cumpleaños!
0b01010000000000000000000000000000
¿no es palindrómico ya que requeriría agregar más ceros y, por lo tanto, exceder 2 ^ 32-1? En este caso, sería útil agregar algo 1342177280
como un caso de prueba de falsey.
1342177280
no es decimal palindrómico, así que Falsey. Edición