Попередження: це НЕ "ей, давайте намалюємо торт в ASCII-арт" виклик! Будь ласка, читайте;)
Деякий час тому це був мій день народження, мені зараз 33 роки.
Отож, існує ця незручна соціальна традиція, яка полягає у запрошенні родини та друзів, ставити на торт свічки, схожі на номер, співати пісні та відкривати подарунки.
33
--------
Замість цифр я можу використовувати двійкову систему, щоб поставити стандартні свічки: я кладу їх 6 на торт і запалюю дві.
100001
--------
Я бачу, що і десяткові, і двійкові числа мого віку є паліндромними!
Виклик
Хочу знати, чи можна будь-яке інше число поставити на торт зі свічками і бути паліндромним, десятковим та двійковим.
Напишіть програму / функцію, щоб перевірити, чи є число паліндромним як у десяткових, так і у двійкових. Але зачекайте, є ще: у двійкових, провідні нулі рахуються для тесту!
Вхідні дані
Десяткове число х , що я хочу перевірити , якщо це день народження паліндроміческій з 0 <х <2 32 -1 (так, люди в моєму вимірі живуть дуже довго)
Вихід
Truthy, якщо він відповідає саме цим двом умовам, Falsey інше:
- Десяткове представлення числа - це стандартний паліндром
- Двійкове представлення числа є стандартним паліндром, і додавання провідних нулів може допомогти у цьому
Тестові справи
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. Редагування