// PascalABC.NET 3.1, сборка 1218 от 12.04.2016 begin var m,n:integer; Write('Количество строк и столбцов матрицы: '); Read(n,m); var a:=MatrixRandom(n,m,10,99); for var i:=0 to n-1 do begin for var j:=0 to m-1 do Print(a[i,j]); Writeln end; var p:=ReadInteger('Введите число Р:'); var b:array of integer; SetLength(b,4*m); var k:=0; for var i:=n-p to n-1 do for var j:=0 to m-1 do if a[i,j] mod 4=0 then begin b[k]:=a[i,j]; Inc(k) end; SetLength(b,k); b.Print end.
1)128000 переводим в байты (128000 / 8 = 16000)
16000 переводим в килобайты ( 16000 / 1024 = 15,625)
500килобайт делим на 15,625 получаем 32секунды.
2)512000 переводим в байты (512000 / 8 = 64000)
64000 переводим в килобайты ( 64000 / 1024 = 62,5 )
62,5 умножаем на 46секунд, получаем 2875
3)128000 переводим в байты (128000 / 8 = 16000)
16000 переводим в килобайты (16000 / 1024 = 15,625)
1минуту 20сек переводим в секунды (60+20=80)
15,625 килобайт умножаем на 80секунд, получаем 1250килобайт
begin
var m,n:integer;
Write('Количество строк и столбцов матрицы: ');
Read(n,m);
var a:=MatrixRandom(n,m,10,99);
for var i:=0 to n-1 do begin
for var j:=0 to m-1 do Print(a[i,j]);
Writeln
end;
var p:=ReadInteger('Введите число Р:');
var b:array of integer;
SetLength(b,4*m);
var k:=0;
for var i:=n-p to n-1 do
for var j:=0 to m-1 do
if a[i,j] mod 4=0 then begin
b[k]:=a[i,j]; Inc(k)
end;
SetLength(b,k);
b.Print
end.
Тестовое решение:
Количество строк и столбцов матрицы: 6 8
67 70 68 72 38 72 96 38
49 75 24 55 72 63 21 40
72 12 60 22 74 30 13 45
22 45 39 24 35 97 64 31
76 62 15 94 56 28 31 13
41 67 75 37 67 13 25 20
Введите число Р: 4
72 12 60 24 64 76 56 28 20