Вопрос задан 22.02.2019 в 08:59. Предмет Информатика. Спрашивает Свящук Кирилл.

Пете нужно оклеить обоями стену размером N метров в высоту и M метров в ширину. Для поклейки

используются обои, которые продаются рулонами. Каждый рулон имеет ширину 1 метр и длину K метров. Обои клеятся на стену вертикальными полосами (сверху вниз). При этом Петя хочет так поклеить обои, чтобы горизонтальных стыков разных кусков не было (то есть один цельный кусок клеится от потолка до пола). От рулона можно отрезать куски нужного размера (иногда при этом может оставаться кусок, меньшего размера, который поэтому не может быть поклеен, этот кусок идет в отходы). По данным числам N, M и K определите наименьшее количество рулонов, которое нужно купить Пете, чтобы оклеить всю стену. Входные данные Вводятся натуральные числа N, M и K (1 ≤ N ≤ 100, 1 ≤ M ≤ 100, N ≤K ≤100). Выходные данные Выведите одно число - количество рулонов, которые должен купить Петя.
0 0
Перейти к ответам

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

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

#include <stdio.h>

int main(void)
 {int n,k,m,val,i;
 val=1;                                       //val-ценность одной части
scanf("%d %d %d",&n,&m,&k);
 i=2;
 while(k/(i*n)!=0)
  {i++;
  val++;}
 printf("%d",m/val+m%val);
 return 0;}

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

Задача

Пете нужно оклеить обоями стену размером N метров в высоту и M метров в ширину. Для поклейки используются обои, которые продаются рулонами. Каждый рулон имеет ширину 1 метр и длину K метров. Обои клеятся на стену вертикальными полосами (сверху вниз). При этом Петя хочет так поклеить обои, чтобы горизонтальных стыков разных кусков не было (то есть один цельный кусок клеится от потолка до пола). От рулона можно отрезать куски нужного размера (иногда при этом может оставаться кусок, меньшего размера, который поэтому не может быть поклеен, этот кусок идет в отходы). По данным числам N, M и K определите наименьшее количество рулонов, которое нужно купить Пете, чтобы оклеить всю стену.

Входные данные

Вводятся натуральные числа N, M и K (1 ≤ N ≤ 100, 1 ≤ M ≤ 100, N ≤ K ≤ 100).

Выходные данные

Выведите одно число - количество рулонов, которые должен купить Петя.

Решение

Для решения задачи нужно определить, сколько полос обоев нужно для покрытия стены по высоте и ширине, а затем разделить это количество на длину рулона обоев.

1. Определим количество полос обоев по высоте стены. Для этого разделим высоту стены N на ширину полосы обоев (1 метр). Округлим результат вверх до ближайшего целого числа, чтобы учесть случаи, когда стена не делится нацело на ширину полосы обоев. Обозначим это количество как `strip_height`.

2. Определим количество полос обоев по ширине стены. Для этого разделим ширину стены M на длину рулона обоев K. Округлим результат вверх до ближайшего целого числа, чтобы учесть случаи, когда стена не делится нацело на длину рулона обоев. Обозначим это количество как `strip_width`.

3. Общее количество полос обоев, необходимых для покрытия всей стены, будет равно произведению `strip_height` и `strip_width`.

4. Наконец, чтобы определить количество рулонов обоев, которые нужно купить Пете, разделим общее количество полос обоев на количество полос обоев на одном рулоне (1 метр).

Пример

Пусть N = 3, M = 4 и K = 5.

1. Количество полос обоев по высоте стены: `strip_height = ceil(N / 1) = ceil(3 / 1) = 3`. 2. Количество полос обоев по ширине стены: `strip_width = ceil(M / K) = ceil(4 / 5) = 1`. 3. Общее количество полос обоев: `total_strips = strip_height * strip_width = 3 * 1 = 3`. 4. Количество рулонов обоев: `rolls = ceil(total_strips / 1) = ceil(3 / 1) = 3`.

Поэтому Пете нужно купить 3 рулона обоев.

Реализация на Python

```python import math

# Ввод данных N, M, K = map(int, input().split())

# Расчет количества полос обоев по высоте и ширине стены strip_height = math.ceil(N / 1) strip_width = math.ceil(M / K)

# Общее количество полос обоев total_strips = strip_height * strip_width

# Количество рулонов обоев rolls = math.ceil(total_strips / 1)

# Вывод результата print(rolls) ```

Примечание

В данном решении предполагается, что ширина полосы обоев равна 1 метру. Если ширина полосы обоев отличается, то нужно изменить соответствующую часть кода.

0 0

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

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

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