Проверить, является ли двоичное представление числа палиндромом!
Формулировка. Дано число типа byte. Проверить, является ли палиндромом его двоичное представление с учетом того, что сохранены старшие нули. Пример таких чисел: 102 (т. к. 102 = 0110 01102, а это палиндром), 129 (129 = 1000 00012) и т. д.
|
Slava23!,
:-? function test(a) { a = a.toString(2); if (a.length % 2) a = '0' + a; a = [...a]; for (; a.length;) if (a.pop() != a.shift()) return false; return true } console.log(test(129)) |
рони,
test(6) [0000 0110] выдаёт тру... |
Белый шум, не существует никакого числа 00000110, есть тупо 110. Рони и так вольность проявил, добавив лишний нолик в нечётном случае.
Если нужно строго какое-то конкретное количество "старших нулей", то оное надо точно оговаривать заранее, 8 - это для числа, очевидно, 8 бит. Но числа могут быть и 16, и 32(в рамках js Number). А могут и 64+ если добавить BigInt. |
Aetae,
Перечитайте условие задачи. |
Белый шум, поправил коммент, суть не меняется.)
|
Aetae,
Перечитайте ещё раз )) |
Белый шум, лол. Ну спишем на то что в js нет никакого типа byte, и мозг автоматически фильтрует ересь в вопросах.)
|
Часовой пояс GMT +3, время: 18:04. |