1)У 60 человек есть кошка и собака.
у 20 - кошка и птичка
у 30 - собака и птичка
У 10 человек есть и кошка, и собака, и птичка. 1.1
Отсюда делаем вывод, что набор пар животных 60, 20 и 30 три раза посчитали тех у кого одновременно все эти трое видов животных есть.
теперь считаем:
у 60-10=50 есть только кошка и собака(без птички!) 1.2
у 20-10=10 есть только кошка и птичка(без собаки!) 1.3
у 30-10=20 есть только собака и птичка(без кошки!) 1.4
2)у 150 человек есть кошка
у 130 - собака
у 50 - птичка.
Это у кого возможно по два-три животных посчитаем, нужно их почистить:
2.1) уберем у кошколюбов тех у кого по 2-3 вида животных:
это 1.1, 1.2, 1.3 множества: 150-10-50-10=80 есть только кошки
2.2) уберем у собаководов, тех у кого по 2-3 вида животных:
это 1.1, 1.2, 1.4 множества: 130-10-50-20=50 есть только собаки.
2.3) уберем у птицефилов, тех у кого по 2-3 вида животных:
это 1.1, 1.3, 1.4 множества: 50-10-10-20=10 есть только птицы.
3) Теперь можем сложить чистую информацию:
чистые(не пересекающиеся с остальными) множества:
не забудем про 4.1) У 70 человек вообще нет домашнего животного
1.1, 1.2, 1.3, 1.4, 2.1, 2.2, 2.3, 3.1
10+50+10+20+80+50+10+70=300
begin
try
var vData := ReadlnString('Введите дату по образцу дд.мм.гг:');
if vData = '' then Exit;
var s := vData.MatchValue('(\d\d\.){2}\d\d');
if s = vData then
begin
var d := DateTime.Parse(s);
$'День: {d.Day}{NewLine}Месяц: {d.Month}{NewLine}Год: {d.Year}'.Println
end
else
'Дата введена не по образцу'.Println
except
'Такой даты в календаре не существует'.Println
end
end.
#include <stdio.h>
#include <stdlib.h>
int main()
{
// y = 1 - x + x * x / 2 + 5x
// -5 < x < 6
// Считываем x:
float x;
printf("Enter x: ");
scanf("%f", &x);
// Проверяем условие с цикла while:
// PS: для извращенцев.
int i = 0;
while (i == 0)
{
if (-5 >= x)
{
return EXIT_FAILURE;
}
if (x >= 6)
{
return EXIT_FAILURE;
}
i = 1;
}
// Решаем уравнение:
float y = 1 - x + x * x / 2 + 5 * x;
// Выводим результат:
printf("Result y = %f\n", y);
}