Вопрос задан 19.06.2023 в 07:46. Предмет Информатика. Спрашивает Кравчук Танечка.

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

он также следит за качеством материалов. Иван решил сделать деревянный забор, поэтому он приобрёл доску длиной L сантиметров. Однако для строительства забора необходимы доски длиной ровно D сантиметров. Разумеется доску можно распилить на несколько частей, но из-за сжатых сроков Иван успеет распилить её не более, чем на K частей. Ему стало интересно, какое максимальное количество досок длины D ему удастся получить? Напишите программу, которая по числам L, D, K вычисляет это количество. Формат входных данных В первой строке вводится натуральное число L (1 ≤ L ≤ 100)— длина исходной доски. Во второй строке вводится натуральное число D (1 ≤ D ≤ 100)— требуемая длина досок. В третьей строке вводится натуральное число K (2 ≤ K ≤ 100)— максимальное количество частей, на которое можно распилить доску. Формат результата Выведите единственное целое число – максимальное количество досок длины D, которое удастся получить.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Баймурзаева Арай.

Ответ:

#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++

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи мы можем использовать деление с остатком (операцию модуля) с фактором 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 сантиметра.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос