Предупреждение: это НЕ вызов "Эй, давайте нарисуем торт в ASCII-искусстве"! Пожалуйста, продолжайте читать;)
Некоторое время назад у меня был день рождения, мне сейчас 33 года.
Таким образом, существует эта неуклюжая социальная традиция, состоящая в том, чтобы приглашать семью и друзей, ставить на торт свечи в виде цифр, петь песни и открывать подарки.
33
--------
Вместо чисел я могу использовать двоичную систему, чтобы поставить стандартные свечи: я помещаю 6 из них на торт и зажигаю две из них.
100001
--------
Я вижу, что как десятичные, так и двоичные числа моего возраста являются палиндромными!
Вызов
Я хочу знать, можно ли поставить любое другое число на торт со свечами и быть палиндромным, десятичным и двоичным.
Напишите программу / функцию для проверки, является ли число палиндромным как в десятичном, так и в двоичном виде. Но подождите, это еще не все: в двоичном для теста учитываются ведущие нули!
вход
Десятичное число х , что я хочу проверить , если это день рождения палиндромический с 0 <х <2 32 -1 (да, люди в моем измерении живут очень долго)
Выход
Правда, если он соответствует именно этим двум условиям, Фальси еще:
- Десятичное представление числа является стандартным палиндромом
- Двоичное представление числа является стандартным палиндромом, и добавление начальных нулей может помочь в этом
Контрольные примеры
1 > 1 => Truthy
6 > 110 (0110) => Truthy
9 > 1001 => Truthy
10 > 1010 (01010) => Falsey, 10 is not palindromic
12 => 1100 (001100) => Falsey, 12 is not palindromic
13 => 1101 (...01101) => Falsey, neither 13 nor 1101 are palindromic
14 => 1110 (01110) => Falsey, 14 is not palindromic
33 > 100001 => Truthy
44 > 101100 (..0101100) => Falsey, 101100 is not palindromic
1342177280 > 1010000000000000000000000000000 (00000000000000000000000000001010000000000000000000000000000) => Falsey, 1342177280 is not palindromic (but the binary representation is)
297515792 > 10001101110111011101100010000 (000010001101110111011101100010000) => Truthy
правила
- Стандартные лазейки запрещены
- Разрешены преобразования и тесты встроенной библиотеки
- Это код-гольф , самый короткий код-выигрыш!
Удачи, и в итоге с днем рождения!
0b01010000000000000000000000000000
не является палиндромным, так как для этого потребуется добавить больше нулей и, следовательно, превысить 2 ^ 32-1? В этом случае было бы 1342177280
полезно добавить что-то вроде тестового примера Фэлси.
1342177280
это не десятичное палиндромное значение, так что Falsey. Редактирование