Если задано целое число, выведите истинное значение, если оно совпадает с перевернутым (повернутым на 180 °) или неверным значением в противном случае.
0
, 1
И 8
имеет осевую симметрию. 6
становится 9
и наоборот.
Последовательность чисел, дающая достоверные результаты: OEIS A000787
0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, 10001, 10101, 10801, 11011, 11111, 11811, 16091, ...
Этот вопрос вдохновлен моей собственной репутации на момент размещения: 6009
.
code-golf
number
sequence
decision-problem
code-golf
string
parsing
c
code-golf
sorting
integer
code-golf
number
sequence
rational-numbers
graphical-output
atomic-code-golf
assembly
box-256
code-golf
geometry
tips
python
code-golf
number
sequence
arithmetic
number-theory
code-golf
ascii-art
kolmogorov-complexity
geometry
code-golf
graphical-output
code-golf
math
code-golf
grid
cellular-automata
game-of-life
code-golf
string
subsequence
code-golf
arithmetic
rational-numbers
code-golf
tips
dc
code-golf
ascii-art
kolmogorov-complexity
date
code-golf
string
primes
code-golf
string
natural-language
conversion
code-golf
sequence
code-golf
number-theory
primes
base-conversion
code-golf
math
primes
base-conversion
code-golf
ascii-art
fractal
code-golf
matrix
code-golf
math
tips
geometry
python
string
code-challenge
keyboard
code-golf
graphical-output
code-golf
string
code-golf
number
sequence
cops-and-robbers
number
sequence
cops-and-robbers
mbomb007
источник
источник
raw_input
, пользователь ввел целое число, которое станет закулисной строкой. Отлично.Ответы:
05AB1E ,
22161514 байтовКод:
Попробуйте онлайн!
Предыдущий код:
Для того, чтобы выяснить , является ли строка вращательной симметрии, мы просто должны транслитерациям
69
с96
, обратной строкой и проверить , если они равны. Другая вещь , которую мы должны знать, если номер только содержит цифры0
,1
,8
,6
и9
. Это именно то, что мы собираемся сделать:„vd•
Часть фактически преобразует строкуvd
из базы 190 к основанию 10 . Вы можете попробовать это здесь .Использует кодировку CP-1252 . Попробуйте онлайн!
источник
Python 2, 50 байт
Метод
'01xxxx9x86'.find
переводит цифру в перевернутую цифру с любой необъяснимой цифрой-1
. Эта функция отображается на строку с обратными номерами, создавая список цифр.Это преобразуется в строку с
[1::3]
уловкой , за исключением того, что вместо этого она переворачивается[-2::-3]
(спасибо Деннису за это, экономя 4 байта) и сравнивается с исходной числовой строкой. Любые-1
из нечитаемых цифр сместят преобразование, что приведет к сбою.56 байтов:
Проверяет, совпадает ли измененная числовая строка с перевернутыми заменами. Цифры, которые нельзя перевернуть, заменяются на,
'x'
чтобы всегда давать неправильный ответ.Замена выполняется
translate
на строке из 256 символов, заменяя соответствующие значения ASCII. Только 10 значений48
к57
материи, но я проложенный до длины 16 , чтобы общая длина будет 256. Я интересно , если есть более короткий путь.Некоторые другие подходы (длина 59, 60, 60):
источник
Рубин,
5446 байтЯ не знаю, разрешены или нет анонимные функции
В основном та же идея, что и в Python2. Если ввод не целочисленный, действуйте плохо (т.е.
aba
даетtrue
)источник
JavaScript (ES6), 56 байт
источник
split``
. Смотрите более мощный массив буквальныйPerl,
2926 байтВключает +1 для
-p
Запустите с помощью ввода на STDIN:
rotation.pl
:источник
Желе,
1615 байтПопробуйте онлайн!
Как это работает
источник
Сетчатка,
5749 байт8 байтов сохранено благодаря @Martin Büttner .
1610880191
->61088019
->108801
->0880
->88
-> (пусто).1
если только0
,1
,8
или (пустой) остались.0
противном случае.Попробуйте онлайн!
источник
ш,
4033 байтаВвод через аргумент командной строки, вывод через код выхода. Генерация всех тестовых случаев:
источник
TSQL, 122 байта
Я новичок в коде гольфа, поэтому не совсем уверен, как считать персонажей. Здесь он считается как 1, поскольку число, используемое в этом случае, равно 8
Это вернет 1, когда обратное значение совпадает, и ничего, если оно не совпадает:
Человек читаемый:
источник
Сетчатка ,
403833 байтаПопробуйте онлайн!
объяснение
Это использует совершенно другой подход от другого ответа Retina. Вместо удаления всех симметричных частей, мы просто выполняем преобразование реверсирования строки и замены
6
и9
s, а затем сравниваем на равенство. Чтобы убедиться, что несимметричные цифры не появляются, мы также превращаем их в9
s в половине.Мы дублируем ввод, сопоставляя конец строки и вставляя
;
после него весь ввод.Это выполняет транслитерацию символов только во второй половине, сопоставляя ее с
;.+
. Два набора транслитерации расширяются до:Потому что
2-7
обозначает диапазон, а целевой набор дополняется последним символом, чтобы соответствовать длине исходного набора. Следовательно, сцена меняет6
и9
тоже превращает все23457
в9
s.Повторно (
+
) удалить пару одинаковых символов вокруг;
. Это будет продолжаться до тех пор, пока;
не останется только символ или, пока два символа вокруг;
не перестанут совпадать, что будет означать, что строки не противоположны друг другу.Проверьте, есть ли первый символ
;
и напечатайте0
или1
соответственно.источник
Pyth - 21 байт
Тестовый пакет .
источник
X_zK
делает ту же работу, что иX_z_KK
. 3-й параметр является необязательным.Pyth, 17 байт
Проверьте это в компиляторе Pyth .
Как это работает
источник
Visual Basic для приложений,
150111 байтовИспользуется в консоли или как UDF.
Улучшено за счет использования неявных преобразований типов и выполнения трех шагов обмена вместо двух шагов с каждой стороны уравнения. Граф включает в себя
Function
иEnd Function
заявления.источник
GNU sed, 84 байта
(включая +1 за
-r
флаг)Если строка заканчивается вращением ее начального символа, обрежьте оба конца на один. Повторяйте, пока нет совпадения. Учитывайте один симметричный символ, тогда, если что-то останется, входные данные не были симметричными, и мы возвращаем false; в противном случае верните истину.
источник
C, 82 байта
расширенный
объяснение
Мы меняем цифры
x
использования арифметики по модулю-10, заменяя 6 и 9 их отражениями по мере продвижения. Мы заменяем вращательно-асимметричные цифры нулями (обратите внимание, что мы можем обрабатывать симметричные пятерки и / или двойки, просто меняя таблицу заменыs
). Если новое число равно оригиналу (сохранено в «z»), то оно является вращательно-симметричным.Тестовая программа
Это печатает список симметричных чисел, приведенных в вопросе.
источник
MATL,
252122 байтаПопробуйте онлайн!
объяснение
источник
Серьезно, 23 байта
Попробуйте онлайн!
По сути это порт решения xnor Python 2 .
Объяснение:
источник
Котлин, 69 байт
Это берет число, преобразует его в строку, вращает его, а затем сравнивает его с оригиналом как строку на равенство. Неповоротные цифры просто преобразуются в
0
Проверьте это здесь!
источник