Schreiben Sie ein vollständiges Programm, um festzustellen, ob die Binärdarstellung einer Zahl palindrom ist oder nicht.
Sample Input
5
Sample Output
YES
Gibt aus, YES
ob die binäre Darstellung palindrom ist oder NO
nicht.
code-golf
binary
palindrome
fR0DDY
quelle
quelle
Antworten:
Golfscript - 22 Zeichen
quelle
Python - 46 Zeichen
quelle
[n!=n[::-1]::2]
das?Ruby,
4139Dank Michael Kohls "% b" erhält% Trick.
quelle
C
848174 ZeichenEs wird keine Funktion wie String Reverse verwendet.
quelle
r<<=1
inr*=2
,v>>=1
inv/=2
und{}
in ändern;
?r*=2,r|=v&1
->r=r*2|v&1
(-2)Javascript -
7977 ZeichenMehr Informationen
prompt()*1
: Schneller Trick, um eine Zeichenfolge in eine Zahl umzuwandeln..toString(2)
: So konvertieren Sie in Javascript in eine Binärdatei.a.split("").reverse().join("")
: Es gibt keine native Unterstützung für das Umkehren von Zeichenfolgen. Sie müssen daher Zeichenfolgen in Arrays und Arrays in Zeichenfolgen konvertieren.("[part1]" - "[part 2]")?"YES":"NO"
:-
ist ein Ersatz für!=
1 Zeichen zu sparen.quelle
PHP - 41
Prüfung:
quelle
m4
anstatt siecat
zu speichern. Es gibt auchpg
unddd
(der einige Bytes in stderr schreibt).Perl, 45 Zeichen
quelle
Ruby, 43 Zeichen
quelle
puts (n="%b"%gets)==n.reverse ? :YES: :NO
Windows PowerShell, 67
quelle
05AB1E,
1712 Bytes (nicht konkurrierend)-5 Bytes dank Adnan.
Probieren Sie es online!
quelle
‘NO…Ü‘#EbÂQè
:).bin()
existiertPython (51)
quelle
['NO','YES'][n==n[::-1]]
Perl (73)
Keine Umkehrung der Zeichenfolge:
quelle
Perl (127)
Dieser konstruiert alle Palindrome bis zu 2 ^ 32.
quelle
Bash, 55 Zeichen
quelle
bash
unddc
undrev
:-)J - 33 Zeichen
quelle
J: 24
z.B:
quelle
Haskell (79)
quelle
C (77 Bytes)
PRÜFUNG
quelle
Pyth, 18 Bytes
Auch 18 Bytes:
quelle
PHP, nicht im Wettbewerb
Ich wollte es tun, ohne überhaupt Zeichenfolgen zu verwenden.
iterative Lösung, 78 Bytes
rekursive Lösung, 113 Bytes
Wenn
n
es sich um ein binäres Palindrom handelt, ist die obere Hälfte x oder die untere Hälfte ebenfalls ein binäres Palindrom und umgekehrt.ein Port der exzellenten C-Antwort von fR0DDY , 58 Bytes
eine binäre Umkehrung. Kolumbus Ei.
quelle
Retina ,
8078 Bytes (nicht konkurrierend)Die Anzahl der Bytes setzt die Kodierung nach ISO 8859-1 voraus.
Probieren Sie es online aus
In Unary konvertieren. Wandle das in eine Binärdatei um. Schneiden Sie die Zahl in zwei Hälften und entfernen Sie eine mittlere Ziffer, falls es eine gibt. Kehren Sie die erste Hälfte um. Spiel, wenn beide Hälften gleich sind.
quelle
Gelee , 12 Bytes (nicht konkurrierend)
Probieren Sie es online!
Erläuterung:
Vor dem Drucken wird die Python-
str
Funktion über eine Liste zugeordnet, und die Elemente werden dann verkettet, sodass SieYES
oder sehenNO
.quelle
Haxe, 164 Bytes
Funktioniert nur mit Systemplattformen (php, neko, cpp usw.). Übernimmt Eingaben über Befehlszeilenargumente.
quelle
Matlab, 71 Bytes
quelle
Java,
9785 Zeichenquelle