Лиза и ее учебник математики
- Не решено
Девочка Лиза любит учиться и ей подарили новый учебник по математике. Учебник состоит из задач, которые сгруппированы по разделам - «Производные», «Интегралы» и так далее. Лиза считает, что если номер задачи в разделе совпадает с номером страницы, то такая задача - «особенная».
Учебник имеет следующую стурктуру:
- В книге
n
разделов. Нумерация идет от1
доn
. - В
i
-ом разделе содержитсяarr[i]
задач. Задачи занумерованы от1
доarr[i]
. - На каждой странице находится
k
задач. Только на последней странице каждого раздела задач может быть меньше, чемk
. - Каждый новый раздел начинается на новой странице. Соответственно, на одной странице никогда не будут задачи сразу с нескольких разделов.
- Нумерация страниц начинается с
1
.
Задание
Напишите функцию CountSpecialProblems
, которая будет возвращать число «особенных» задач в Лизином учебнике.
Функция CountSpecialProblems
принимает на вход:
n
- число разделов в книгеk
- число задач на страницеarr
- массив с количеством задач в каждом разделе
Пример:
n = 2, k = 3, arr = [4, 2] Ответ: 1
Объяснение:
Всего в книге 2 раздела. В первом разделе arr[1] = 4
задачи. Максимальное число задач на страницу - 3
, значит первый раздел состоит из 2 страниц.
На странице 1
находятся задачи 1-3
. Задача с индексом 1
- особенная. На странице 2
находится только задача с индексом 4
.
Во втором разделе всего 2
задачи и все они на странице 3
, значит во втором разделе вообще нет особенных задач.
Итого ответ: 1 особенная задача.
Примечание: В данном случае индексация массива arr велась с 1, а не с 0.
Дополнительная информация
Обратите внимание, что шаблон решения представлен в виде (на примере языка Python):
class Answer:
def function(self, arg1, arg2):
# напишите свой код ниже
return res
Здесь function
- функция, которую вам нужно написать (от задачи к задаче ее имя меняется), а arg1, arg2
- аргументы этой функции.
Чтобы решить задачу, напишите свой код между комментарием и выражением return ...
.
Если вы хотите промежуточно посмотреть, что вернет написанный вами код, воспользуйтесь конструкцией и нажмите кнопку Выполнить:
print(Answer().function(arg1, arg2))
Если вам нужно импортировать какой-то модуль, указывайте модуль до class Answer
. Например:
import mymodule
class Answer:
...
Полный пример:
# импортируем модуль
import collections
class Answer:
def problemSolve(self, n, m):
# напишите свой код ниже
...
return res
# промежуточно смотрим результат
print(Answer().problemSolve(n=2, m=3))