В симфонический оркестр приняли на работу трёх музыкантов - Борисова, Сергеева и Васечкина, умеющих играть на на скрипке, флейте, альте, кларнете, гобое и трубе. Каждый из музыкантов владеет двумя инструментами. Известно, что:
1) Сергеев самый высокий;
2) играющий на скрипке меньше ростом играющего на флейте;
3) играющие на скрипке и флейте и Борисов любят пиццу;
4) когда между альтистом и трубачом возникает ссора, Сергеев мирит их;
5) Борисов не умеет играть ни на трубе, ни на свободе. Выясните, на каких инструментах играет каждый из музыкантов.
ответ:Это самое короткое что я знаю
Объяснение:#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s[100], *ps = s, ch, mch;
int mn = 100, n = 0;
cout << "string? ";
cin >> s;
ch = *ps;
do {
++ps;
++n;
if (ch != *ps) {
if (mn > n) {
mn = n;
mch = ch;
}
ch = *ps;
n = 0;
}
} while (*ps);
cout << "result: ";
for (int c = 0; c < mn; ++c) cout << mch;
return 0;
}
¬ (A v B ) /\ ¬ C =(раскроем скобки по закону де-Моргана)=
= ¬A /\ ¬B /\ ¬ C =(доказательство этого перехода - через таблицу истинности)= ¬(A v B v C)
Доказательство последнего равенства:
1) ¬A /\ ¬B /\ ¬ C
А B C F
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
2) ¬(A v B v C)
А B C F
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
Так как таблицы истинности совпали, последний переход равносилен.
ответ: ¬(A v B v C)