¿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 YES
si la representación binaria es palíndromo y de lo NO
contrario.
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<<=1
ar*=2
,v>>=1
dentrov/=2
y{}
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
m4
lugar decat
guardar una. También haypg
ydd
(que escribe algunos bytes en stderr).Perl, 45 caracteres.
fuente
Ruby, 43 caracteres
fuente
puts (n="%b"%gets)==n.reverse ? :YES: :NO
Windows 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
bash
ydc
yrev
:-)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
n
es 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
str
función de Python se asigna a través de una lista, y luego los elementos se concatenan, para que veaYES
oNO
.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