Задача A: Доски Иван – профессиональный строитель. Помимо тщательного контроля при строительстве он также следит за качеством материалов.

Иван решил сделать деревянный забор, поэтому он приобрёл доску длиной L сантиметров. Однако для строительства забора необходимы доски длиной ровно D сантиметров. Разумеется доску можно распилить на несколько частей, но из-за сжатых сроков Иван успеет распилить её не более, чем на K частей.

Ему стало интересно, какое максимальное количество досок длины D ему удастся получить? Напишите программу, которая по числам L, D, K вычисляет это количество.

Формат входных данных
В первой строке вводится натуральное число L (1 ≤ L ≤ 100)— длина исходной доски.

Во второй строке вводится натуральное число D (1 ≤ D ≤ 100)— требуемая длина досок.

В третьей строке вводится натуральное число K (2 ≤ K ≤ 100)— максимальное количество частей, на которое можно распилить доску.

Формат результата
Выведите единственное целое число – максимальное количество досок длины D, которое удастся получить.

kamilachelny kamilachelny    2   28.11.2021 12:41    1

Ответы
Вадим98913 Вадим98913  04.01.2022 02:08

#include <iostream>

using namespace std;

int main() {

  int L, D, K;

  cin >> L >> D >> K;

  if (L % D == 0 && (K >= D || D - K == 1)) {

      cout << L / D;

  }

  else if (L % D == 0 && K < D && D - K > 1) {

      cout << K;

  }

  else if (L % D < D && K > D) {

      cout << D;

  }

  else if (L % D < D && K < D) {

      cout << D - K;

  }

  else if (L % D < D && K == D) {

      cout << D - 1;    

  }

  return 0;

}

Объяснение:

c++

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика