На одной крайне странной космической станции программист Вася допустил ошибку в коде управляющей панели лифта: там есть всего 4 кнопки.
1. Подняться на ? уровней вверх
2. Подняться на ? уровней вверх
3. Подняться на ? уровней вверх
4. Вернуться на первый уровень
Исходно лифт находится на первом уровне. Всего на станции ℎ уровней. Если лифту понадобится вылететь за пределы станции, он останется на месте. Посчитайте, до скольких из ℎ уровней можно добраться с первого уровня с помощью лифта?
Формат входных данных:
В первой строке записано целое число
ℎ
h — количество уровней станции (
1
<
ℎ
<
2
64
1<h<2
64
).
Во второй строке записаны целые числа
�
,
�
и
�
a,b и c — параметры лифта (
1
<
�
,
�
,
�
<
1
0
5
1<a,b,c<10
5
).
Числа могут совпадать.
Формат выходных данных:
Выведите одно целое число — количество этажей, до которых можно добраться с первого с помощью лифта.
Конечно, вам нужно написать программу на Python для решения этой задачи. Попробуйте следующий код: h = int(input()) # количество уровней на станции
a, b, c = map(int, input().split()) # параметры лифта
max_floor_reachable = 0
# Перебираем все возможные нажатия кнопок и находим максимально достижимый этаж
for i in range(h + 1):
floor = i + min(a, b, c) # новый этаж после i-го нажатия кнопки
if floor > h:
break
max_floor_reachable = max(max_floor_reachable, floor)
print(max_floor_reachable)
Этот код сначала считывает количество уровней h и параметры лифта a, b, c. Затем он проходит через возможные этажи, которые могут быть достигнуты при нажатии каждой из кнопок, сохраняя максимально достижимый этаж. После этого выводится максимальный этаж, до которого можно добраться с первого уровня.
while count_of_achievable_floors != len(set_of_achievable_floors):
count_of_achievable_floors = len(set_of_achievable_floors)
for x in set_of_achievable_floors.copy():
for y in a, b, c:
if x + y