решить задачу на python
У Васи на кухне висят часы с кукушкой. Часы устроены так: в каждый ровный час кукушка кукует столько раз, сколько сейчас часов (от 1 до 12), например, ровно в 7:00 кукушка кукует 7 раз.
Кроме того, в 30 минут каждого часа (в 0:30, 1:30, 2:30 и т.д.) кукушка кукует ровно один раз. Васе очень нравится смотреть на то, как кукует кукушка, он любит считать, сколько раз она прокуковала. Но, к сожалению, сегодня мама отправила Васю в магазин за покупками, и поэтому он пропустил несколько моментов, в которые куковала кукушка. Определите, сколько раз всего куковала кукушка за время отсутствия Васи.
Считайте, что кукушка кукует очень быстро. Например, даже в 11:00 она успевает прокуковать 11 раз быстрее, чем за одну минуту, т.е. к моменту 11:01 кукушка уже закончила куковать.
Входные данные
Входные данные содержат четыре целых числа H1M1H2 и M2 — время ухода (H1 часов M1 минут) и время возвращения (H2 часов M2 минут) Васи. Гарантируется, что 0H1212 и что 0M1260. Гарантируется, что момент ухода Васи следует до момента его возвращения (т.е. или H1H2, или H1=H2, но M1M2), и что кукушка не кукует ни в момент ухода, ни в момент возвращения (т.е. что M12=0 и M12=30).
Вася уходил и приходил в одной и той же половине суток, т.е. между его моментом ухода и моментом прихода не было ни полудня, ни полуночи.
Выходные данные
Выведите одно число — сколько раз кукушка куковала за время отсутствия Васи.
Примечание
В первом примере кукушка кукует один раз — в момент времени 2:30. Во втором примере кукушка кукует три раза в момент времени 3:00, один раз в момент времени 3:30, и еще четыре раза в момент времени 4:00 — итого 8 раз. В третьем примере кукушка не куковала ни разу
ОТДЕЛ Задание+;
ИСПОЛЬЗУЕТ Вывод ИЗ "...\Отделы\Обмен\";
ПЕР
массив: РЯД 15 ИЗ ВЕЩ;
сч, найдено: ЦЕЛ;
найденное, индексы: ДОСТУП К РЯД ИЗ ВЕЩ;
УКАЗ
найдено := 0;
СОЗДАТЬ(индексы, РАЗМЕР(массив) - 1);
ОТ сч := 1 ДО РАЗМЕР(массив) - 1 ВЫП
ЕСЛИ массив[сч] = массив[0] ТО
найденное[найдено] := сч;
УВЕЛИЧИТЬ(найдено)
КОН
КОН;
ЕСЛИ найдено = 0 ТО Вывод.Цепь("Не найдено.")
ИНАЧЕ
СОЗДАТЬ(индексы, найдено);
ОТ сч := 0 ДО найдено - 1 ВЫП
индексы[сч] := найденное[сч]
КОН;
найденное := ПУСТО
КОН
КОН Задание.
function Avg(a:array[,] of integer):real;
begin
var s:=0; var k:=0;
foreach var e:integer in a do
if e>0 then begin s+=e; Inc(k) end;
if k>0 then Result:=s/k else Result:=1e-100;
end;
begin
var A:=MatrixRandom(4,4,-50,50); Writeln(A);
Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
var B:=MatrixRandom(5,5,-30,30); Writeln(B);
Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
var C:=MatrixRandom(4,5,-25,38); Writeln(C);
Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.
Тестовое решение:
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200