Можно быстро сообразить, какой будет ответ, при кругов Эйлера.
Всего есть 2^6 = 64 возможных комбинаций входных параметров и, соответственно, в таблице 64 строки. Изобразим области истинности выражений A и B. Область истинности выражения A + -B – это объединение области истинности A и области ложности выражения B; область истинности изображена на рисунке зелёным цветом.
Чтобы в закрашенную область попало как можно больше элементов, в незакрашенной области элементов должно быть как можно меньше. В данном случае ничего не мешает тому, чтобы в незакрашенной области вообще не было элементов, при этом все 5 элементов в области истинности B должны одновременно быть и в области истинности A. При этом в область истинности выражения A + -B входят все 64 элемента, максимально возможное число единиц равно 64.
//PascalABC.NET 3.1 сборка 1219 procedure PrintMatrix(a: array[,] of integer); begin for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do begin writeln; for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do write(a[i, j], ' '); end; writeln; end;
begin var a := MatrixRandom(9, 9, 10, 99); PrintMatrix(a); var i := (a.GetLowerBound(0) + a.GetUpperBound(0)) div 2 + (a.GetLowerBound(0) + a.GetUpperBound(0)) mod 2; var j := (a.GetLowerBound(1) + a.GetUpperBound(1)) div 2 + (a.GetLowerBound(1) + a.GetUpperBound(1)) mod 2; writeln('A[', i, ', ', j, '] = ', a[i, j]); end.
#include<iostream>
using namespace std;
int main()
{
// c++
// first
cout << " _____ \n";
cout << " _/_____\\_ \n";
cout << " < о - о >\n";
cout << "/< >\\\n";
cout << " / \\ \n\n\n";
cout << " <>___<> \n";
cout << " < 0 - 0 >\n";
cout << "/< >\\\n";
cout << " / \\ \n";
}