Задача: Найти среднее арифметическое всех натуральных чисел из заданного диапазона, которые кратны 3 и не оканчиваются на 0. Гарантируется, что в заданном диапазоне будет хотя бы одно такое число.
Формат ввода:
На вход подаются два натуральных числа A и B (1<=A<=B<=200).
Формат вывода:
Найденное среднее, с точностью 2 знака после запятой.
Пример входных данных
1 100
Пример выходных данных
50.10
Пояснение:
Отсутствует.
На паскале
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. // Конец программы