Напишите полную программу, чтобы узнать, является ли двоичное представление числа палиндромом или нет?
Sample Input
5
Sample Output
YES
Выведите, YES
если двоичное представление является палиндромом и NO
иначе.
code-golf
binary
palindrome
fR0DDY
источник
источник
Ответы:
Golfscript - 22 символа
источник
Python - 46 символов
источник
[n!=n[::-1]::2]
?Руби,
4139Благодаря Майклу Колю "% b"% получает хитрость.
источник
C
848174 персонажаОн не использует никаких функций, таких как обратная строка.
источник
r<<=1
вr*=2
,v>>=1
вv/=2
и{}
в;
?r*=2,r|=v&1
->r=r*2|v&1
(-2)Javascript -
7977 символовДополнительная информация
prompt()*1
: Быстрый трюк для преобразования строки в число..toString(2)
Это то, как вы конвертируете в двоичный файл в JavaScript.a.split("").reverse().join("")
: Нет встроенной поддержки для обращения строки, поэтому вам нужно преобразовать строку в массив и массив в строку.("[part1]" - "[part 2]")?"YES":"NO"
:-
замена для!=
сохранения 1 символа.источник
PHP - 41
Тестовое задание:
источник
m4
вместоcat
сохранения. Там такжеpg
иdd
(который записывает несколько байтов в stderr).Perl, 45 символов
источник
Рубин, 43 символа
источник
puts (n="%b"%gets)==n.reverse ? :YES: :NO
Windows PowerShell, 67
источник
05AB1E,
1712 байт (не конкурирующих)-5 байт благодаря Аднану.
Попробуйте онлайн!
источник
‘NO…Ü‘#EbÂQè
:).bin()
существуетPython (51)
источник
['NO','YES'][n==n[::-1]]
Perl (73)
Без обратной строки:
источник
Perl (127)
Этот строит все палиндромы до 2 ^ 32.
источник
Баш, 55 символов
источник
bash
и есть,dc
иrev
:-)J - 33 символа
источник
J: 24
например:
источник
Хаскелл (79)
источник
C (77 байт)
ТЕСТОВОЕ ЗАДАНИЕ
источник
Pyth, 18 байт
Также 18 байтов:
источник
PHP, не конкурирующий
Я хотел сделать это без использования строк вообще.
итерационное решение, 78 байт
рекурсивное решение, 113 байт
Если
n
это бинарный палиндром, то верхняя половина или нижняя половина также являются бинарным палиндромом и наоборот.порт отличного C ответа от fR0DDY , 58 байт
бинарный реверс. Яйцо Колумба.
источник
Retina ,
8078 байт (не конкурирует)Количество байтов предполагает кодировку ISO 8859-1.
Попробуйте онлайн
Преобразовать в одинарный. Преобразуйте это в двоичный файл. Разрежьте число пополам и удалите среднюю цифру, если она есть. Обратный первый тайм. Матч, если обе половины равны.
источник
Желе , 12 байт (не конкурирует)
Попробуйте онлайн!
Объяснение:
Перед печатью
str
функция Python отображается через список, а затем элементы объединяются, поэтому вы видитеYES
илиNO
.источник
Haxe, 164 байта
Работает только с системными платформами (php, neko, cpp и т. Д.). Принимает ввод через аргументы командной строки.
источник
Matlab, 71 байт
источник
Java,
9785 символовисточник