Переводим X и Y в двоичную систему - это все же два числа, а не четыре, как если бы из двоичной переводить Z. Цифры шестнадцатиричного X расписываем по двоичным тетрадам, а восьмеричного Y - по триадам. X = B7₁₆ = 1011 0111₂ = 10110111 Y = 271₈ = 010 111 001₂ = 10111001 Требуется найти Z, которое находится между X и Y. Запишем в столбик, выравняв по младшему разряду, сначала X, потом варианты Z и в конце Y. То, что не будет попадать в интервал между числами в первой и последней строках, потом вычеркнем. 10110111 10111001 - равно нижнему, вычеркнем 10011000 - меньше верхнего, вычеркнем 10111000 - подходит - это ответ 10110111 - равно верхнему, вычеркнем 10111001
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=MatrRandom(5,5,0,100); Writeln('*** Исходная матрица ***'); a.Println(4); Writeln(4*a.ColCount*'-'); var k:=a.ElementsWithIndexes.MaxBy(t->t[0]); Write('Максимальный элемент [',k[1]+1,',',k[2]+1,']=',k[0]); var p:=' на '; if k[1]<k[2] then p:=' выше ' else if k[1]>k[2] then p:=' ниже '; Writeln(', расположен',p,'главной диагонали') end.
X = B7₁₆ = 1011 0111₂ = 10110111
Y = 271₈ = 010 111 001₂ = 10111001
Требуется найти Z, которое находится между X и Y.
Запишем в столбик, выравняв по младшему разряду, сначала X, потом варианты Z и в конце Y. То, что не будет попадать в интервал между числами в первой и последней строках, потом вычеркнем.
10110111
10111001 - равно нижнему, вычеркнем
10011000 - меньше верхнего, вычеркнем
10111000 - подходит - это ответ
10110111 - равно верхнему, вычеркнем
10111001
ответ: 3) 10111000₂
// Внимание! Если программа не работает, обновите версию!
begin
var a:=MatrRandom(5,5,0,100);
Writeln('*** Исходная матрица ***');
a.Println(4); Writeln(4*a.ColCount*'-');
var k:=a.ElementsWithIndexes.MaxBy(t->t[0]);
Write('Максимальный элемент [',k[1]+1,',',k[2]+1,']=',k[0]);
var p:=' на ';
if k[1]<k[2] then p:=' выше '
else if k[1]>k[2] then p:=' ниже ';
Writeln(', расположен',p,'главной диагонали')
end.
Пример
*** Исходная матрица ***
41 4 37 54 30
71 73 75 65 22
38 60 85 89 74
0 87 82 55 69
69 87 21 71 73
Максимальный элемент [3,4]=89, расположен выше главной диагонали