Tulis program lengkap untuk mengetahui apakah representasi biner dari angka tersebut adalah palindrome atau bukan?
Sample Input
5
Sample Output
YES
Cetak YES
jika representasi biner adalah palindrom dan NO
sebaliknya.
code-golf
binary
palindrome
fR0DDY
sumber
sumber
Jawaban:
Golfscript - 22 karakter
sumber
Python - 46 karakter
sumber
[n!=n[::-1]::2]
harus dilakukanRuby,
4139Berkat "% b"% Michael Kohl mendapat trik.
sumber
C
848174 KarakterItu tidak menggunakan fungsi seperti string terbalik.
sumber
r<<=1
menjadir*=2
,v>>=1
menjadiv/=2
dan{}
ke dalam;
?r*=2,r|=v&1
->r=r*2|v&1
(-2)Javascript -
7977 karakterInformasi lebih lanjut
prompt()*1
: Trik cepat untuk mengonversi string menjadi angka..toString(2)
: Begitulah cara Anda mengkonversi ke biner di javascript.a.split("").reverse().join("")
: Tidak ada dukungan asli untuk membalikkan string, jadi Anda harus mengkonversi string ke array dan array ke string.("[part1]" - "[part 2]")?"YES":"NO"
:-
adalah pengganti untuk!=
menghemat 1 char.sumber
PHP - 41
Uji:
sumber
m4
alih-alihcat
menyimpannya. Ada jugapg
dandd
(yang menulis beberapa byte ke stderr).Perl, 45 karakter
sumber
Ruby, 43 karakter
sumber
puts (n="%b"%gets)==n.reverse ? :YES: :NO
Windows PowerShell, 67
sumber
05AB1E,
1712 byte (tidak bersaing)-5 byte terima kasih kepada Adnan.
Cobalah online!
sumber
‘NO…Ü‘#EbÂQè
:).bin()
adaPython (51)
sumber
['NO','YES'][n==n[::-1]]
Perl (73)
Tidak ada string terbalik:
sumber
Perl (127)
Yang ini membangun semua palindrom hingga 2 ^ 32.
sumber
Bash, 55 karakter
sumber
bash
dandc
danrev
:-)J - 33 karakter
sumber
J: 24
misalnya:
sumber
Haskell (79)
sumber
C (77 byte)
UJI
sumber
Pyth, 18 byte
Juga 18 byte:
sumber
PHP, tidak bersaing
Saya ingin melakukannya tanpa menggunakan string sama sekali.
solusi berulang, 78 byte
solusi rekursif, 113 byte
Jika
n
palindrom biner, bagian atas x atau bagian bawah juga merupakan palindrom biner dan sebaliknya.port jawaban C yang sangat baik dari fR0DDY , 58 byte
pembalikan biner. Telur Columbus.
sumber
Retina ,
8078 byte (tidak bersaing)Hitungan byte mengasumsikan penyandian ISO 8859-1.
Cobalah online
Konversikan ke unary. Ubah itu menjadi biner. Potong jumlahnya menjadi dua dan hapus digit tengah jika ada. Membalik babak pertama. Cocokkan jika kedua bagiannya sama.
sumber
Jelly , 12 byte (tidak bersaing)
Cobalah online!
Penjelasan:
Sebelum mencetak,
str
fungsi Python dipetakan melalui daftar, dan kemudian elemen-elemen digabungkan, sehingga Anda melihatYES
atauNO
.sumber
Haxe, 164 byte
Hanya berfungsi dengan platform sistem (php, neko, cpp, dll.). Mengambil input melalui argumen baris perintah.
sumber
Matlab, 71 byte
sumber
Java,
9785 karaktersumber