Dado un número, determine si es un número plegable.
Un número plegable es un número tal que si lo toma como representación binaria y lo "dobla" por la mitad, es decir, toma el resultado de la multiplicación XNOR de la primera mitad del número y la segunda mitad con los dígitos en reversa, obtendrá cero.
Si el número tiene un número impar de dígitos en binario, su dígito central debe ser 1 y se ignora al plegar.
Como eso puede ser un poco confuso, daré algunos ejemplos:
178
La representación binaria de 178 es
10110010
Para doblar esto, primero lo dividimos por la mitad
1011 0010
Revertimos la segunda mitad
1011
0100
Y nosotros XNOR las dos mitades:
0000
Esto es cero, así que este es un número plegable.
1644
La representación binaria de 1644 es
11001101100
Para doblar esto, primero lo dividimos por la mitad
11001 1 01100
El bit medio es 1, así que lo tiramos.
11001 01100
Revertimos la segunda mitad
11001
00110
Y nosotros XNOR las dos mitades:
00000
Esto es cero, así que este es un número plegable.
4254
La representación binaria de 4254 es
1000010011110
Para doblar esto, primero lo dividimos por la mitad
100001 0 011110
El bit del medio es 0, por lo que este no es un número plegable.
Tarea
Su tarea es tomar un número positivo y devolver un verdadero si el número es plegable y falso si no lo es. Este es el código de golf, así que trate de mantener la cuenta regresiva de bytes.
Casos de prueba
Aquí están los primeros 99 números plegables:
[1, 2, 6, 10, 12, 22, 28, 38, 42, 52, 56, 78, 90, 108, 120, 142, 150, 170, 178, 204, 212, 232, 240, 286, 310, 346, 370, 412, 436, 472, 496, 542, 558, 598, 614, 666, 682, 722, 738, 796, 812, 852, 868, 920, 936, 976, 992, 1086, 1134, 1206, 1254, 1338, 1386, 1458, 1506, 1596, 1644, 1716, 1764, 1848, 1896, 1968, 2016, 2110, 2142, 2222, 2254, 2358, 2390, 2470, 2502, 2618, 2650, 2730, 2762, 2866, 2898, 2978, 3010, 3132, 3164, 3244, 3276, 3380, 3412, 3492, 3524, 3640, 3672, 3752, 3784, 3888, 3920, 4000, 4032, 4222, 4318, 4462, 4558]
0
, así que no. (Sin embargo, podría valer la pena tener un tercer ejemplo trabajado como este). Lo mismo ocurre con 18.