"-" влияет собственно только на знак перед полученным результатом.
=
Чтобы в другое время тебя этот ужасный звук не беспокоил: все вместе спустили и всем хорошо)))
<span>Если в явном виде:
</span>
¬A&¬C = ¬A&(B v <span>¬B)&¬C = </span>¬A&B&¬C v ¬A&¬B&¬C
C&B = (A v ¬A)&B&C = A&B&C v <span>¬A&B&C
</span>¬A&B = ¬A&B&(C v <span>¬C)</span> = ¬A&B&C v ¬A&B&<span>¬C
Т.е. исходное выражение =</span>
<span>¬A&B&¬C v ¬A&¬B&<span>¬C v </span></span><span>A&B&C v <span>¬A&B&C v </span></span><span><span>¬A&B&C v ¬A&B&<span>¬C
</span></span>Если убрать повторы, получится</span>
A&B&C v <span>¬A&B&C v </span><span>¬A&B&¬C v </span><span>¬A&¬B&<span>¬C =
</span></span>= (A & ¬A)&B&C v <span>¬A&(B v </span><span>¬B)&</span><span>¬C =</span>
= B&C v <span>¬A&</span><span>¬C</span>
Для решения этого задания достаточно перевести указанное число в двоичную СС и посчитать нули.
158(10) = 10011110, отсюда следует что нулей три.
Ответ: 3.
#include<iostream>
void main()
{
<span> setlocale(LC_ALL, "rus");
</span><span> using namespace std;
</span><span> int A[2][5];
</span><span> int i, j,k = 1;</span>
<span> for (i = 0; i < 2; i++)
</span><span> {</span><span>
for (j = 0; j < 5; j++)
</span><span> {</span><span>
cin >> A[i][j];
</span><span> }
</span><span> }</span>
<span> for (i = 0; i < 2; i++)
</span><span> {
</span><span> for (j = 0; j < 5; j++)
</span><span> {</span><span>
if ((A[i][j] % 2 == 0) && (A[i][j] % 3 != 0))</span><span>
{
</span><span> k *= A[i][j];
</span><span> }
</span><span> }
</span><span> }</span>
<span> cout << "Произведение чисел, которые делятся на 2 без остатка и не делятся на 3 = " << k;</span>