Napisz pełny program, aby dowiedzieć się, czy binarna reprezentacja liczby jest palindromem, czy nie?
Sample Input
5
Sample Output
YES
Drukuj, YES
jeśli reprezentacja binarna jest palindromem i NO
inaczej.
code-golf
binary
palindrome
fR0DDY
źródło
źródło
Odpowiedzi:
Golfscript - 22 znaki
źródło
Python - 46 znaków
źródło
[n!=n[::-1]::2]
zrobić?Ruby,
4139Dzięki „% b”% Michaela Kohla dostaje sztuczkę.
źródło
C
848174 znakówNie używa żadnej funkcji, takiej jak ciąg znaków do tyłu.
źródło
r<<=1
wr*=2
,v>>=1
wv/=2
i{}
na;
?r*=2,r|=v&1
->r=r*2|v&1
(-2)JavaScript -
7977 znakówWięcej informacji
prompt()*1
: Szybka sztuczka polegająca na konwersji ciągu na liczbę..toString(2)
: Tak konwertujesz na binarny w javascript.a.split("").reverse().join("")
: Nie ma natywnej obsługi odwrotnego ciągu, więc należy przekonwertować ciąg na tablicę i tablicę na ciąg.("[part1]" - "[part 2]")?"YES":"NO"
:-
zastępuje,!=
aby zapisać 1 znak.źródło
PHP - 41
Test:
źródło
m4
zamiastcat
je zapisać. Jest teżpg
idd
(co zapisuje niektóre bajty do stderr).Perl, 45 znaków
źródło
Ruby, 43 znaki
źródło
puts (n="%b"%gets)==n.reverse ? :YES: :NO
Windows PowerShell, 67
źródło
05AB1E,
1712 bajtów (niekonkurujące)-5 bajtów dzięki Adnan.
Wypróbuj online!
źródło
‘NO…Ü‘#EbÂQè
:).bin()
istniejePython (51)
źródło
['NO','YES'][n==n[::-1]]
Perl (73)
Brak ciągu wstecznego:
źródło
Perl (127)
Ten konstruuje wszystkie palindromy do 2 ^ 32.
źródło
Bash, 55 znaków
źródło
bash
idc
orazrev
:-)J - 33 znaki
źródło
J: 24
na przykład:
źródło
Haskell (79)
źródło
C (77 bajtów)
TEST
źródło
Pyth, 18 bajtów
Również 18 bajtów:
źródło
PHP, nie konkuruje
Chciałem to zrobić bez użycia ciągów.
iteracyjne rozwiązanie, 78 bajtów
rozwiązanie rekurencyjne, 113 bajtów
Jeśli
n
jest binarnym palindromem, górna połowa x lub dolna połowa jest również binarnym palindromem i odwrotnie.port doskonałej odpowiedzi C z fR0DDY , 58 bajtów
binarny rewers. Jajko Kolumba.
źródło
Retina ,
8078 bajtów (niekonkurujące)Liczba bajtów zakłada kodowanie ISO 8859-1.
Wypróbuj online
Konwertuj na unary. Konwertuj to na binarne. Wytnij liczbę na pół i usuń środkową cyfrę, jeśli taka istnieje. Odwróć pierwszą połowę. Dopasuj, jeśli obie połowy są równe.
źródło
Galaretka , 12 bajtów (niekonkurencyjna)
Wypróbuj online!
Wyjaśnienie:
Przed wydrukowaniem
str
funkcja Pythona jest odwzorowywana na liście, a następnie elementy są łączone, aby zobaczyćYES
lubNO
.źródło
Haxe, 164 bajty
Działa tylko z platformami systemowymi (php, neko, cpp itp.). Pobiera dane wejściowe za pomocą argumentów wiersza poleceń.
źródło
Matlab, 71 bajtów
źródło
Java,
9785 znakówźródło