Вопрос Программирование на python. пожалуйста срочно помогите 15 минкт осталось

Регистрация
26 Июн 2013
Сообщения
69
Репутация
0
Спасибо
0
Монет
0
На одной крайне странной космической станции программист Вася допустил ошибку в коде управляющей панели лифта: там есть всего 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

).



Числа могут совпадать.



Формат выходных данных:



Выведите одно целое число — количество этажей, до которых можно добраться с первого с помощью лифта.



Sample Input:



15

4 7 9

Sample Output:



9
 
что то на програмистском
 
Конечно, вам нужно написать программу на 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. Затем он проходит через возможные этажи, которые могут быть достигнуты при нажатии каждой из кнопок, сохраняя максимально достижимый этаж. После этого выводится максимальный этаж, до которого можно добраться с первого уровня.
 
я вот не понимаю - нахера учить языки если потом спрашиваете решение заданий на ответах маил ру?
 
Судя по тестовым данным, первый уровень входит в число достижимых. h = int(input())
a, b, c = map(int, input().split())

set_of_achievable_floors = {1}
count_of_achievable_floors = 0

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
 
Назад
Сверху