// PascalABC.NET 3.3, сборка 1573 от 04.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); Writeln('Введите элементы матрицы построчно'); var a:=ReadMatrInteger(n,n); Writeln('Исходная матрица'); a.Println(4); Writeln(4*a.ColCount*'-'); var s:=a.ElementsWithIndexes; var imin:=s.MinBy(t->t[0])[1]; var imax:=s.MaxBy(t->t[0])[1]; if imin<>imax then a.SwapRows(imin,imax); Writeln('Матрица-результат'); a.Println(4); end.
На бумаге сорри не получится, но постараюсь досконально объяснить:
1) 379 в 10 системе счисления сначала переводим в 2 систему счисления: мы число 379 делим на 2 до того момента, когда выражение будет равно 0.
379 : 2 = 189 остаток 1
189 : 2 = 94 остаток 1
94 : 2 = 47 остаток 0
47 : 2 = 23 остаток 1
23 : 2 = 11 остаток 1
11 : 2 = 5 остаток 1
5 : 2 = 2 остаток 1
2 : 2 = 1 остаток 0
1 : 2 = 0 остаток 1
Теперь, мы обращаем наше внимание на остаток, оно и является ответом, только есть нюанс, мы должны писать числа с конца.
Получаем, что 379 в 10 сист.сч. = 101111011 в 2 системе счисления
Аналогично и с 8 системой счисления :
379 : 8 = 47 остаток 3
47 : 8 = 5 остаток 7
5 : 8 = 0 остаток 5
379 в 10 системе счисления = 573 в 8 системе счисления