1. Макс решил сделать 1000 отжиманий. В первый день он сделал K1 отжиманий, во второй — K2 отжиманий, в третий — K3 отжиманий, и так далее.
Определите, в какой день суммарное количество отжиманий станет больше или равно 1000.
Входные данные
Ввод содержит одно или более целых чисел Ki (0 ≤ Ki ≤ 1000) — количество отжиманий в каждый из дней.
Выходные данные
Выведите одно целое число — номер дня, когда Макс сделает в сумме 1000 отжиманий. Гарантируется, что ответ существует.
2. На этот раз Макс захотел решить N задач по программированию.
В первый день он решил K1 задач, во второй — на K2 задач больше, чем в первый, в третий — на K3 задач больше, чем во второй, и так далее.
Определите, в какой день суммарное количество решённых задач станет больше или равно N.
Входные данные
Первая строка содержит целое число N (1 ≤ N ≤ 106) — суммарное количество задач, которое хочет решить Макс.
Вторая строка содержит одно или более целых чисел Ki (0 ≤ Ki ≤ 1000) — количество задач, на которое Макс увеличивал свой прогресс ежедневно.
Выходные данные
Выведите одно целое число — номер дня, когда Макс решит в сумме N задач. Гарантируется, что ответ существует.
3. Макс решил сделать N отжиманий.
В первый день он сделал K1 отжиманий, во второй — K2 отжиманий, в третий — K3 отжиманий, и так далее.
Определите, в какой день суммарное количество отжиманий станет больше или равно N.
Входные данные
Первая строка содержит целое число N (1 ≤ N ≤ 104) — суммарное количество отжиманий, которое хочет сделать Макс.
Вторая строка содержит одно или более целых чисел Ki (0 ≤ Ki ≤ 1000) — количество отжиманий в каждый из дней.
Выходные данные
Выведите одно целое число — номер дня, когда Макс сделает в сумме N отжиманий. Гарантируется, что ответ существует.
С ИНФОРМАТИКОЙ НА С++ ТОЛЬКО, НЕ ПИТОН
** (* - любой из символов В или С)
*А*
ААА*АА*
АА*ААА*
А**
** (пока 6 вариантов)
Далее - аналогично:
**А
ААА*А*А
АА*АА*А
А*ААА*А
**А (ещё 5 вариантов)
ААА**АА
АА*А*АА
А*АА*АА
*ААА*АА (ещё 4 варианта)
АА**ААА
А*А*ААА
*АА*ААА (ещё 3 варианта)
А**
*А* (ещё 2)
** (ещё 1)
Итого: 6+5+4+3+2+1=21
Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая.
Можно здесь, конечно, комбинаторику вспомнить.
Итого: 21*4 = 84
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