Pascal. Операторы ветвления. Задача 9

Дано число типа byte. Проверить, является ли палиндромом его двоичное представление с учетом того, что сохранены старшие нули. Пример таких чисел: 102 (т. к. 102 = 0110 01102, а это палиндром), 129 (129 = 1000 00012) и т. д.

Решение:

program BinaryPalindrome;
var
  n, a, b, c, d: byte;
begin
  readln(n);
  a := n mod 2;
  n := n div 2;
  b := n mod 2;
  n := n div 2;
  c := n mod 2;
  n := n div 2;
  d := n mod 2;
  n := n div 2;
  a := 8 * a + 4 * b + 2 * c + d;
  writeln(n = a)
end.

 

Рейтинг
( Пока оценок нет )
Загрузка ...