Собаки 50 Кошки 60 если в документах упоминаются только Собаки или только Кошки, то документов было бы 50+60 = 110 Однако Собаки + Кошки = 80 ( операция | или + ) следовательно есть 110-80=30 документов в которых есть [ Собаки & Кошки ]
Собаки 50 Лемуры 70 50+70=120 тоже самое и с Собаками и Лемурами [ Собаки | Лемуры ] = 100 120-100=20 документов в которых есть [ Собаки & Лемуры ]
Лемуры & (кошки | собаки) = 20 [ Лемуры & Кошки | Лемуры & Собаки ] = 20 из этого следует что документов в которых есть [Лемуры И Кошки] не больше 20
Кошки & (Собаки | Лемуры) = Кошки & Собаки | Кошки & Лемуры = 30 документов | (меньше или равно 20 документов) = 30 документов.
ответ: 30 документов.
Bsn1704
13.05.2023
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); var v:=SeqRandom(n,-99,99).Select(t->0.1*t).ToArray; v.Println; var imin:=v.Select(t->Abs(t)).ToArray.IndexMin; Writeln('Номер минимального по модулю элемента- ',imin+1); var fn:=v.Select((x,i)->(x,i)).Where(t->t[0]<0).First[1]; Writeln('Сумма модулей элементов после первого отрицательного равна ', v[fn+1:].Sum(t->Abs(t))); var (a,b):=ReadReal2('Введите границы интервала значений для удаления:'); v:=v.Where(t->not t.Between(a,b)).ToArray; var m:=n-v.Length; if n>0 then begin SetLength(v,n); for var i:=v.Length to n-1 do v[i]:=0.0 end; v.Println end.
Пример n= 15 -9.4 3.9 6.2 -2.5 -5.2 9 4.9 -9.5 4.4 2.4 -8.8 3.1 -7.7 5.6 8.9 Номер минимального по модулю элемента- 10 Сумма модулей элементов после первого отрицательного равна 82.1 Введите границы интервала значений для удаления: -20 2 3.9 6.2 9 4.9 4.4 2.4 3.1 5.6 8.9 0 0 0 0 0 0