Program n_1;
var a:array [1..1000] of integer; i, buf:integer;
begin
for i:=1 to 1000 do read(a[i]); //Вводим массив
for i:=1 to 500 do begin //Переворачиваем массив
buf:=a[i];
a[i]:=a[1001-i];
a[1001-i]:=buf;
end;
for i:=1 to 1000 do write(a[i], ' '); //Выводим перевернутый массив
writeln(); //Переносим строку
for i:=1 to 1000 do begin //Выводим нужные нам числа
buf:=a[i];
while buf>9 do buf:=buf div 10; //buf равно старшему разряду
if buf>a[i] mod 10 then write(a[i], ' '); //Если старший разряд больше младшего, то выводим
end;
end.
Часть, выделенная полужирным, эквивалентна
for i:=1000 downto 1 do read(a[i]); //Заполняем массив с конца и тем самым он сразу становится перевернутым.
a) 10111010. n=8 => 8/3 - 3 8-ричных разряда
б) 1001111000111, n=13 => 13/3 - 5 8-ричных разрядов
в) A18C. Сначала найдем n. Посмотрим, сколько значащих разрядов у старшей цифры. A=1010 - 4 разряда. У остальных цифр по 4 разряда всегда. Поэтому n=3*4+4=16 => 16/3 - 6 8-ричных разрядов.
г) 1375BE.
1=1 : 1 разряд => n=5*4+1=21 => 21/3 - 7 8-ричных разрядов