
Задача 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++



Для решения этой задачи мы можем использовать деление с остатком (операцию модуля) с фактором k.
Перед тем, как приступить к решению, нам необходимо понять, сколько раз длина d помещается в длине l. Для этого мы можем использовать операцию деления с остатком: l // d. Результат этой операции будет показывать, сколько досок длины d можно получить из исходной доски длиной l.
Однако нам также нужно учесть, что Иван может распилить доску не более, чем на k частей. Если количество получаемых досок длины d превышает k, то мы можем учесть только k досок и отбросить оставшиеся куски.
Теперь мы можем написать программу, которая будет решать эту задачу:
l = int(input()) # считываем длину исходной доски d = int(input()) # считываем требуемую длину досок k = int(input()) # считываем максимальное количество частей
num_d = l // d # находим количество досок длины d if num_d > k: # если количество досок превышает k, то учитываем только k досок num_d = k
print(num_d) # выводим результат
Данная программа считывает значения l, d и k, вычисляет количество досок длины d и выводит результат.
Примеры работы программы:
Пример 1: Ввод: 10 3 4 Вывод: 3
Из доски длиной 10 сантиметров можно получить 3 доски длиной 3 сантиметра.
Пример 2: Ввод: 15 5 2 Вывод: 2
Из доски длиной 15 сантиметров можно получить 2 доски длиной 5 сантиметров.
Пример 3: Ввод: 7 2 5 Вывод: 3
Из доски длиной 7 сантиметров можно получить 3 доски длиной 2 сантиметра.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili