Задача A: Доски Иван – профессиональный строитель. Помимо тщательного контроля при строительстве он также следит за качеством материалов.
Иван решил сделать деревянный забор, поэтому он приобрёл доску длиной L сантиметров. Однако для строительства забора необходимы доски длиной ровно D сантиметров. Разумеется доску можно распилить на несколько частей, но из-за сжатых сроков Иван успеет распилить её не более, чем на K частей.
Ему стало интересно, какое максимальное количество досок длины D ему удастся получить? Напишите программу, которая по числам L, D, K вычисляет это количество.
Формат входных данных
В первой строке вводится натуральное число L (1 ≤ L ≤ 100)— длина исходной доски.
Во второй строке вводится натуральное число D (1 ≤ D ≤ 100)— требуемая длина досок.
В третьей строке вводится натуральное число K (2 ≤ K ≤ 100)— максимальное количество частей, на которое можно распилить доску.
Формат результата
Выведите единственное целое число – максимальное количество досок длины D, которое удастся получить.
#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++