Загрузка...

Лиза и ее учебник математики

  • Легкая
  • Не решено

Девочка Лиза любит учиться и ей подарили новый учебник по математике. Учебник состоит из задач, которые сгруппированы по разделам - «Производные», «Интегралы» и так далее. Лиза считает, что если номер задачи в разделе совпадает с номером страницы, то такая задача - «особенная».

Учебник имеет следующую стурктуру:

  • В книге 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))
57 / 171