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

Помогите с Python

Вадим Долларс Ученик (98), закрыт 1 месяц назад
Королю замка Еинавзан пришло донесение, что на его обитель идут войска грозного противника. У жителей королевства может быть только одно преимущество - запереться в замке и отражать атаки врага с крепостных стен, пока не подойдет помощь союзников. Чтобы увеличить шансы на успех, король приказал выкопать ров вокруг замка, но времени осталось катастрофически мало, через два дня враг будет уже слишком близко. Помогите королю понять, сколько людей надо отправить на подготовку рва, пока остальные жители окрестных деревень будут перебираться в замок и готовить запасы, если за день один землекоп может выкопать ров длиной в 3 метра, а длина предполагаемого рва - n метров.

Нужно написать функцию, которая в качестве аргумента принимает одно целое число (длина рва) и выводит одно цело е число (количество людей, которых нужно отправить на подготовку рва).
Лучший ответ
Валентин Артамонов Профи (593) 1 месяц назад
Очень креативная задачка, давай попробую решить)

def рассчитать_количество_землекопов(длина_рва):
# Один землекоп может выкопать 3 метра за день
производительность_землекопа = 3

# Время, которое есть на подготовку рва (в днях)
время = 2

# Общая производительность, необходимая для выкапывания рва за 2 дня
необходимая_производительность = длина_рва / время

# Количество землекопов, которые нужно отправить
количество_землекопов = необходимая_производительность / производительность_землекопа

# Округляем вверх, так как нельзя отправить дробное количество людей
количество_землекопов = int(количество_землекопов) + (1 if количество_землекопов % 1 != 0 else 0)

return количество_землекопов

# Пример использования функции
длина_рва = 100 # Например, длина рва 100 метров
количество_землекопов = рассчитать_количество_землекопов(длина_рва)
print(f"Нужно отправить {количество_землекопов} землекопов.")
Остальные ответы
Сергей Просветленный (42706) 1 месяц назад
 print(int((x:=int(input()) / 2 / 3)) + bool(x % 1)) 
Есть 2 дня, значит необходимое количество метров делим на два, получаем сколько надо выкопать в день. И делим на 3, поскольку каждый копает в день 3 метра. Округление.
Рустам Абдрашитов Мыслитель (9542) 1 месяц назад
на
 def calculate_diggers(n): 
return (n + 5) // 6

n = int(input("Введите длину рва в метрах: "))
print(f"Количество людей, необходимых для подготовки рва: {calculate_diggers(n)}")
Похожие вопросы