¿Escribir un programa completo para determinar si la representación binaria de un número es palíndromo o no?
Sample Input
5
Sample Output
YES
Imprima YESsi la representación binaria es palíndromo y de lo NOcontrario.
code-golf
binary
palindrome
fR0DDY
fuente
fuente

Respuestas:
Golfscript - 22 caracteres
fuente
Python - 46 caracteres
fuente
[n!=n[::-1]::2]hacer?Rubí,
4139Gracias al "% b"% de Michael Kohl se engaña.
fuente
C
848174 PersonajesNo usa ninguna función como string reverse.
fuente
r<<=1ar*=2,v>>=1dentrov/=2y{}dentro;?r*=2,r|=v&1->r=r*2|v&1(-2)Javascript -
7977 caracteresMás información
prompt()*1: Truco rápido para convertir una cadena en un número..toString(2): Así es como se convierte a binario en javascript.a.split("").reverse().join(""): No hay soporte nativo para invertir la cadena, por lo que debe convertir la cadena en matriz y la matriz en cadena.("[part1]" - "[part 2]")?"YES":"NO":-es un reemplazo para!=guardar 1 char.fuente
PHP - 41
Prueba:
fuente
m4lugar decatguardar una. También haypgydd(que escribe algunos bytes en stderr).Perl, 45 caracteres.
fuente
Ruby, 43 caracteres
fuente
puts (n="%b"%gets)==n.reverse ? :YES: :NOWindows PowerShell, 67
fuente
05AB1E,
1712 bytes (no competitivos)-5 bytes gracias a Adnan.
Pruébalo en línea!
fuente
‘NO…Ü‘#EbÂQè:).bin()existía la funciónPitón (51)
fuente
['NO','YES'][n==n[::-1]]Perl (73)
Sin cadena inversa:
fuente
Perl (127)
Éste construye todos los palíndromos hasta 2 ^ 32.
fuente
Bash, 55 caracteres
fuente
bashydcyrev:-)J - 33 caracteres
fuente
J: 24
p.ej:
fuente
Haskell (79)
fuente
C (77 bytes)
PRUEBA
fuente
Pyth, 18 bytes
También 18 bytes:
fuente
PHP, no compitiendo
Quería hacerlo sin usar cadenas en absoluto.
solución iterativa, 78 bytes
solución recursiva, 113 bytes
Si
nes un palíndromo binario, la mitad superior x la mitad inferior también es un palíndromo binario y viceversa.un puerto de la excelente respuesta C de fR0DDY , 58 bytes
Un reverso binario. Huevo de Colón.
fuente
Retina ,
8078 bytes (no competitiva)El recuento de bytes asume la codificación ISO 8859-1.
Pruébalo en línea
Convierte a unario. Convierta eso a binario. Corte el número por la mitad y elimine un dígito del medio si hay uno. Invierta la primera mitad. Haga coincidir si ambas mitades son iguales.
fuente
Jalea , 12 bytes (no competitiva)
Pruébalo en línea!
Explicación:
Antes de imprimir, la
strfunción de Python se asigna a través de una lista, y luego los elementos se concatenan, para que veaYESoNO.fuente
Haxe, 164 bytes
Funciona solo con plataformas de sistema (php, neko, cpp, etc.). Toma entrada a través de argumentos de línea de comando.
fuente
Matlab, 71 bytes
fuente
Java,
9785 caracteresfuente