Сколько памяти занимает графическое изображение, если его размер 40 на 60 и для кодировки цвета пикселя используется двоичный код из 32-х битов а) 2400 байтов б) 2100 байтов в) 960 байтов г) 9600 байтов д) 12000 байтов
Пусть в "долях" a <= b <= c вершин, и проведены все рёбра между разными "долями". Так как из каждой вершины, лежащей в первой "доле", можно провести только b + c рёбер, из второй доли — a + c рёбер, из третьей — a + b рёбер, то общее количество рёбер равно (a * (b + c) + b * (a + c) + c * (a + b))/2 = ab + ac + bc (деление на 2 возникает из-за того, что каждое ребро подсчитывается дважды). Нужны такие a, b, c, при которых значение выражения ab + bc + ac будет максимально. Максимальное значение можно найти перебором.
python 3: max_value = 0
for a in range(40//3 + 1): for b in range(a, (40 - a)//2 + 1): c = 40 - a - b value = a * b + a * c + b * c max_value = max(max_value, value)
//Pascal //1) var A: array [1..20] of integer; i, j, k: integer; begin randomize; writeln('***Сгенерированный массив***'); for i := 1 to 20 do begin A[i] := random(200)+100; write(A[i]:4); end; for i := 1 to 20-1 do for j := 1 to 20-i do if A[j] > A[j+1] then begin k := A[j]; A[j] := A[j+1]; A[j+1] := k; end; writeln; writeln('***Массив после сортировки***'); for i := 1 to 20 do write(A[i]:4); readln; end.
//2) var A: array [1..10, 1..10] of integer; i, j, k, N, M, buf: integer; begin randomize; writeln(' ***Сгенерированный массив***'); for i := 1 to 10 do begin for j := 1 to 10 do begin A[i, j] := random(51); write(A[i, j]:4); end; writeln; end; write('Введите номер столбца для сортировки: '); readln(M); for j:=m to m do begin for k:=1 to 10 do for i := 10 downto k+1 do if A[i-1,j]>A[i,j] then begin buf:=A[i,j]; A[i,j]:=A[i-1,j]; A[i-1,j]:=buf; end; end; writeln; writeln(' ***Массив после сортировки***'); for i := 1 to 10 do begin for j := 1 to 10 do write(A[i, j]:4); writeln; end; write('Введите номер строки для сортировки: '); readln(N); for i:=n to n do for j:=1 to 10-1 do for k:=j+1 to 10 do if A[i,j]>A[i,k] then begin buf:=a[i,j]; A[i,j]:=A[i,k]; A[i,k]:=buf; end; writeln; writeln(' ***Массив после сортировки***'); for i := 1 to 10 do begin for j := 1 to 10 do write(A[i, j]:4); writeln; end; readln; end.
ответ: г) 9600 байтов