Escreva um programa completo para descobrir se a representação binária de um número é palíndromo ou não?
Sample Input
5
Sample Output
YES
Imprima YES
se a representação binária for palíndromo ou NO
não.
code-golf
binary
palindrome
fR0DDY
fonte
fonte
Respostas:
Golfscript - 22 caracteres
fonte
Python - 46 caracteres
fonte
[n!=n[::-1]::2]
faz?Ruby,
4139Graças ao "% b"% de Michael Kohl, o truque.
fonte
C
848174 CaracteresEle não usa nenhuma função como string reverse.
fonte
r<<=1
parar*=2
,v>>=1
emv/=2
e{}
em;
?r*=2,r|=v&1
->r=r*2|v&1
(-2)Javascript -
7977 caracteresMais Informações
prompt()*1
: Truque rápido para converter string em número..toString(2)
: É assim que você converte para binário em javascript.a.split("").reverse().join("")
: Não há suporte nativo para reverter a sequência, portanto, você deve converter a sequência em matriz e a matriz em sequência.("[part1]" - "[part 2]")?"YES":"NO"
:-
é um substituto para!=
salvar 1 caractere.fonte
PHP - 41
Teste:
fonte
m4
vez decat
salvar uma. Há tambémpg
edd
(que grava alguns bytes no stderr).Perl, 45 caracteres
fonte
Ruby, 43 caracteres
fonte
puts (n="%b"%gets)==n.reverse ? :YES: :NO
Windows PowerShell, 67
fonte
05AB1E,
1712 bytes (não concorrente)-5 bytes graças a Adnan.
Experimente online!
fonte
‘NO…Ü‘#EbÂQè
:).bin()
existiaPython (51)
fonte
['NO','YES'][n==n[::-1]]
Perl (73)
Sem seqüência reversa:
fonte
Perl (127)
Este constrói todos os palíndromos até 2 ^ 32.
fonte
Bash, 55 caracteres
fonte
bash
edc
erev
:-)J - 33 caracteres
fonte
J: 24
por exemplo:
fonte
Haskell (79)
fonte
C (77 bytes)
TESTE
fonte
Pitão, 18 bytes
Também 18 bytes:
fonte
PHP, não competindo
Eu queria fazer isso sem usar strings.
solução iterativa, 78 bytes
solução recursiva, 113 bytes
Se
n
é um palíndromo binário, a metade superior ou a metade inferior também é um palíndromo binário e vice-versa.uma porta da excelente resposta C de fR0DDY , 58 bytes
um reverso binário. Ovo de Colombo.
fonte
Retina ,
8078 bytes (não concorrente)A contagem de bytes assume a codificação ISO 8859-1.
Experimente online
Converta para unário. Converta isso em binário. Corte o número ao meio e remova um dígito do meio, se houver um. Inverta a primeira metade. Combine se as duas metades forem iguais.
fonte
Gelatina , 12 bytes (não concorrente)
Experimente online!
Explicação:
Antes de imprimir, a
str
função do Python é mapeada através de uma lista e os elementos são concatenados, para que você vejaYES
ouNO
.fonte
Haxe, 164 bytes
Funciona apenas com plataformas de sistema (php, neko, cpp, etc.). Recebe entrada através de argumentos de linha de comando.
fonte
Matlab, 71 bytes
fonte
Java,
9785 caracteresfonte