2 в степени i = N
N=50
i=6 бит (так как 2^5= 32, а мы должны брать с избытком)
Блок-схема - в прилагаемом файле.
Var
l,k,j,t,n1,m,p,s,n:longint;
begin
read(n);
l:=n div 60;
k:=n mod 60;
if k>34 then
l:=l+1
else
begin
j:=k div 10;
t:=k mod 10;
if t=9 then
j:=j+1
else
n1:=t;
end;
writeln(n1,' ',j,' ',l);
<span>end.</span>
<em>// PascalABC.NET 3.3, сборка 1547 от 07.10.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
end.
<u>Пример</u>
Количество строк и столбцов в массиве: 7 8
*** Исходный массив [7,8] ***
88 9 -44 13 81 97 -65 -20
16 -37 -33 -34 -69 -64 12 -58
-36 -80 -99 61 -59 -86 -18 83
-77 -1 85 -41 -49 -12 43 84
-64 32 36 -85 -18 -42 49 -6
71 -13 28 33 55 -94 12 13
5 -10 -5 -27 23 -37 -48 74
--------------------------------
Пусть дана матрица А размером n x n.
Обнуляем переменную s, в которой будет накапливаться сумма элементов главной диагонали и переменную k, в которой будет накапливаться количество отобранных элементов.
В цикле для i от 1 до n повторяем следующее действие:
- если значение А[i,i]>0, то добавляем его в s и увеличиваем k на единицу.
Когда цикл завершится, найдем среднее арифметическое как s/k.