Последовательно вводятся ненулевые числа. определить сумму положительных и сумму отрицательных чисел. закончить ввод чисел при вводе 0. для перевода из строки в целое число, использовать функцию
Собаки 50 Кошки 60 если в документах упоминаются только Собаки или только Кошки, то документов было бы 50+60 = 110 Однако Собаки + Кошки = 80 ( операция | или + ) следовательно есть 110-80=30 документов в которых есть [ Собаки & Кошки ]
Собаки 50 Лемуры 70 50+70=120 тоже самое и с Собаками и Лемурами [ Собаки | Лемуры ] = 100 120-100=20 документов в которых есть [ Собаки & Лемуры ]
Лемуры & (кошки | собаки) = 20 [ Лемуры & Кошки | Лемуры & Собаки ] = 20 из этого следует что документов в которых есть [Лемуры И Кошки] не больше 20
Кошки & (Собаки | Лемуры) = Кошки & Собаки | Кошки & Лемуры = 30 документов | (меньше или равно 20 документов) = 30 документов.
Кошки 60
если в документах упоминаются только Собаки или только Кошки,
то документов было бы 50+60 = 110
Однако Собаки + Кошки = 80 ( операция | или + )
следовательно есть 110-80=30 документов в которых есть
[ Собаки & Кошки ]
Собаки 50
Лемуры 70
50+70=120
тоже самое и с Собаками и Лемурами
[ Собаки | Лемуры ] = 100
120-100=20 документов в которых есть
[ Собаки & Лемуры ]
Лемуры & (кошки | собаки) = 20
[ Лемуры & Кошки | Лемуры & Собаки ] = 20
из этого следует что
документов в которых есть [Лемуры И Кошки]
не больше 20
Кошки & (Собаки | Лемуры) =
Кошки & Собаки | Кошки & Лемуры =
30 документов | (меньше или равно 20 документов) = 30 документов.
ответ: 30 документов.
begin
var quantity := 0;
var amount := 0;
var A := readinteger();
var B := readinteger();
for var i := A to B do
begin
if (i mod 3 = 0) and (i mod 10 <> 0) then
begin
inc(amount, i);
inc(quantity);
end;
end;
writeln(amount / quantity:0:2);
end.
Объяснение:
begin // Начало программы
var quantity := 0; // Объявление переменной, хранящей количество элементов, подходящих под условие
var amount := 0; // Объявление переменной, хранящей сумму элементов, подходящих под условие
var A := readinteger(); // Считывание числа А с клавиатуры
var B := readinteger(); // Считывание числа В с клавиатуры
for var i := A to B do // Идём от А до В
begin // Начало цикла
if (i mod 3 = 0) and (i mod 10 <> 0) then // Если значение переменной i делится на 3 без остатка И значение переменной i не заканчивается на 0
begin // Начало условного оператора
inc(amount, i); // Прибавляем к переменной amount значение переменной i
inc(quantity); // Прибавляем к переменной quantity единицу
end; // Конец условного оператора
end; // Конец цикла
writeln(amount / quantity:0:2); // Вывод среднего арифметического с точностью до 2 знаков после запятой
end. // Конец программы