Получив целое число «x», напишите функцию C, которая возвращает true, если двоичное представление x — палиндром, иначе возвращает false.
Например, числа с двоичным представлением как 10..01 являются палиндромом, а числа с двоичным представлением как 10..00 не являются палиндромом.
Идея проверки строки похожа на палиндром или нет . Мы начинаем с самых левых и самых правых битов и сравниваем биты один за другим. Если мы обнаружим несоответствие, вернем false.
Алгоритм:
isPalindrome (х)
1) Найдите количество бит в х, используя оператор sizeof ().
2) Инициализируйте левую и правую позиции как 1 и n соответственно.
3) Следуйте, пока левый «l» меньше правого «r».
..… ..a) Если бит в позиции 'l' не совпадает с битом в позиции 'r', вернуть false.
..… ..b) Увеличивайте «l» и уменьшайте «r», т. Е. Делайте l ++ и r–-.
4) Если мы достигаем здесь, это означает, что мы не нашли несоответствующий бит.
Чтобы найти бит в заданной позиции, мы можем использовать идею, аналогичную этой статье. Выражение « x & (1 << (k-1)) » дает нам ненулевое значение, если бит в k-й позиции справа установлен, и дает нулевое значение, если k-й бит не установлен.
Ниже приведена реализация вышеуказанного алгоритма.
|
python3
|
PHP
|
Выход:
1 1
Эта статья предоставлена Саурабх Гуптой . Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
Рекомендуемые посты:
- Проверьте, является ли фактическое двоичное представление числа палиндромом
- Найдите n-е число, двоичное представление которого представляет собой палиндром
- Проверьте, является ли двоичное представление данного числа и его дополнения анаграммой
- Проверьте, имеет ли двоичное представление числа равное число 0 и 1 в блоках
- Двоичное представление следующего числа
- Двоичное представление заданного числа
- Подсчет числа конечных нулей в двоичном представлении числа с использованием Bitset
- Наибольшее число с двоичным представлением — это m 1 и m-1 0
- Следующее большее число чем N с точно одним битом, отличным в двоичном представлении N
- Двоичное представление предыдущего числа
- Количество ведущих нулей в двоичном представлении заданного числа
- Появления шаблона в двоичном представлении числа
- Простое число битов в двоичном представлении | Комплект 1
- Простое число битов в двоичном представлении | Набор 2
- Количество несовпадающих бит в двоичном представлении двух целых
0.00 (0%) 0 votes