Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить задачу python

Ivan Angel Ученик (115), на голосовании 2 дня назад
Кусок сыра имеет форму прямоугольного параллелепипеда (ну это такой вроде кирпичика... ну вы поняли). Его длина A см, ширина В см, высота С см.

Сыр нужно нарезать на кусочки толщиной 2 мм, сделав при этом как можно меньше разрезов. Кусок можно положить на доску любой стороной, но во время резки ничего сдвигать и поворачивать уже нельзя.

Разработайте программу, которая по габаритам куска сыра определяет минимальное число разрезов.

Входные данные: Натуральные числа А, В и С, не превышающие 1000, в одной строке через пробел.

Выходные данные: натуральное число, минимальное возможное количество разрезов.
Голосование за лучший ответ
doctor Гуру (3820) 1 месяц назад
def min_cuts(A, B, C):
cuts = [A, B, C]
cuts.sort()
if cuts[0] % 2 == 0:
return cuts[1] // 2 + cuts[2] // 2
else:
return (cuts[1] // 2 + cuts[2] // 2) * 2

A, B, C = map(int, input().split())
print(min_cuts(A, B, C))


Примеры работы программы:
Входные данные:
10 15 20
Выходные данные:
14

Входные данные:
12 10 8
Выходные данные:
10
```
АндрейВысший разум (457230) 1 месяц назад
Феерический бред.
Андрей Высший разум (457230) 1 месяц назад
 print(min(map(int, input().split())) * 5 - 1) 
Вводим числа, выбираем из них наименьшее.
1 см - это 5 ломтиков по 2 мм.
Разрезов на 1 меньше кол-ва ломтиков.
Рустам Абдрашитов Мыслитель (8536) 1 месяц назад
 def min_cuts_to_slice_cheese(A, B, C): 
A *= 10
B *= 10
C *= 10
thickness = 2
cuts_a = (A - 1) // thickness
cuts_b = (B - 1) // thickness
cuts_c = (C - 1) // thickness
return min(cuts_a + cuts_b, cuts_a + cuts_c, cuts_b + cuts_c)

A, B, C = map(int, input("Введите размеры A, B и C через пробел: ").split())
result = min_cuts_to_slice_cheese(A, B, C)
print(result)
Похожие вопросы