Учитывая палиндром, сгенерированный в соответствии с этой задачей , депалиндромизируйте его.
Контрольные примеры
abcdedcba -> abcde
johncenanecnhoj -> johncena
ppapapp -> ppap
codegolflogedoc -> codegolf
Поскольку речь идет о депалиндромизировании, ваш код не может быть палиндромом .
Помните, что это код-гольф , поэтому выигрывает код с наименьшим количеством байтов.
code-golf
restricted-source
palindrome
Оливер Ни
источник
источник
Ответы:
Юлия,
2115 байтПопробуйте онлайн! (дополнительный код для вывода на печать)
источник
end/2
это крутая особенность05AB1E , 3 байта
Использует кодировку CP-1252 . Попробуйте онлайн!
источник
Python 2, 23 байта
Я не могу проверить на своем телефоне, но это должно работать:
источник
apt-get install python2
apt-get
на своем телефоне, это, вероятно, не обычный телефон.Нечеткое окто гуакамоле, 4 байта
Я потратил некоторое время на поиск языка, на котором этот вызов был коротким, и понял, что я тупой, и мой собственный язык сделал это.
источник
05AB1E, 5 байтов
Попробуйте онлайн!
Объяснение:
источник
Чеддер,
2218 байтовТак просто, я не думаю, что нужно объяснение, но я добавлю его, если захочу.
Попробуйте онлайн
источник
Pyth - 4 байта
Тестовый пакет .
источник
JavaScript (ES6),
32 2625 байт1 байт сохранен благодаря Нейлу:
Показать фрагмент кода
Предыдущие решения
26 байтов благодаря Downgoat:
32 байта:
источник
s=>s.slice(0,s.length/2+1)
Так как длина всегда будет нечетнойs=>s.slice(0,s.length/2+.5)
будет работать и для четной длины.-s.length/2
работает как для нечетных, так и для четных длин.WinDbg,
8771 байт-16 байт, не вставляя NULL, вместо этого передавая длину
da
Ввод осуществляется через адрес в псевдо-регистре
$t0
. Например:Он работает путем замены правого среднего символа (или правого среднего, если строка имеет четную длину) на ноль, а затем печатает строку с исходного начального адреса памяти.
Выход:
источник
Haskell, 27 байт
Pointfree версия
что также составляет 27 байтов.
источник
MATL ,
76 байтПопробуйте онлайн!
объяснение
источник
end
, и двоеточия между элементами массива неявныЖеле , 4 байта
Попробуйте онлайн!
объяснение
источник
V , 12 байт
Два совершенно разных решения, по 12 байт.
Попробуйте онлайн!
Попробуйте онлайн!
источник
Брахилог , 4 байта
Попробуйте онлайн!
объяснение
Если вход имеет нечетную длину, вторая половина, генерируемая с
@2
помощью, является самой длинной, то есть той, которую мы должны вернуть (после ее изменения).источник
Дьялог АПЛ , 9 байт
⊢
Аргумент↑⍨
усеченный в2÷⍨
половина от1+
один плюс≢
длинаПопробуй APL онлайн!
источник
Perl, 15 байт
Включает +2 для
-lp
Введите строку ввода в STDIN:
depal.pl
:Это
-l
действительно не нужно, если вы вводите палиндром без заключительного перевода строки, но я включил его, чтобы быть справедливым по отношению к другим Perl-решениям, которые его используют.источник
Java 7, 57 байт
источник
}
(так что это 57 байт).TI-Basic, 14 байтов
Стандартная функция. Возвращает строку из индекса 1 в индекс (длина / 2 + 1/2).
источник
Язык GameMaker, 59 байт
источник
PHP, 40 байт
strlen($a)/2
получает приведение к int, с входом, всегда имеющим нечетную длину,+1
достаточно округлить.42 байта для любой длины:
для неизвестной длины,
(1+strlen)/2
приводится к int, округляя вверхstrlen/2
.источник
Провал, 8 байт
Объяснение:
Это может быть значительно улучшено.
источник
Perl, 23 + 2 (
-pl
флаг) =2825 байтUngolfed:
Спасибо @ardnew.
источник
length()
наy|||c
Befunge ,
2422 байтаПопробуйте онлайн!
Befunge не имеет типа строки или массива, поэтому все выполняется в стеке по одному символу за раз. Первый цикл (в верхней строке) подсчитывает количество прочитанных символов (при замене менее чем на 2 элемента в стеке получается начальный 0). Вторая (в средней строке) печатает символы, а обратный отсчет идет в два раза быстрее. В результате печатается только последняя половина ввода, но LIFO, поэтому он находится в правильном порядке.
Спасибо Брайану Градину за лучшую версию первого цикла.
источник
Perl, 14 + 3 (
-lF
флаг) =1917 байтДля 5.20.0+:
Для 5.10.0+ (19 байт):
Ungolfed:
Спасибо @simbabque.
источник
-n
и-a
потому-F
делает это неявно.Brainfuck, 20 байтов
Попробуйте онлайн.
Это экономит байт по сравнению с более простым подходом потребления входных данных перед началом основного цикла:
источник
Pyth ,
87 байтовСохранено 1 с помощью @Steven H
Не самый короткий ответ Pyth (наполовину), но я прилагаю усилия, чтобы выучить язык, и это мой первый пост, использующий его. Размещено столько же комментариев и отзывов, сколько угодно. Это также первая программа Pyth, которую я действительно получил на работу :)
Теперь мне просто нужно разобраться, как работает 4-байтный ответ @Maltysen :-)
источник
c
вводQ
на2
части и берет первый фрагмент, используяh
(который, благодаря реализации chop, также захватит центральную букву). Что касается вашего кода, вы можете заменить+1
сh
, встроенным для приращения числа.h
подсказку @Steven H. Есть так много встроенных модулей, я думаю, что это займет некоторое время, чтобы найти их все :)На самом деле , 5 байтов
Попробуйте онлайн!
-1 байт благодаря Шерлоку9
Объяснение:
источник
;l½K@H
DC,
3130 байтСохранение 1 байта благодаря Cyoce.
Использование:
источник
char* c
Python 2, 23 байта
источник
MATLAB / Octave,
20191816 байт1 байт заимствует идею из ответа Истерли Ирка (добавьте
1
вместо.5
)2 байта благодаря @StewieGriffin (ненужные скобки)
Попробуйте это в Ideone .
источник