Python
2100 год. Схема сборки избы осталась прежней, а вот дерево заменено более стойким к внешним воздействиям полимерным материалом. Строители из длинной заготовки длины c отрезают бревна нужной длины и укладывают их друг на друга. На фундамент кладут два длинных бревна длины b, на них — три коротких длины a, снова два длинных, опять три коротких, и так далее. Самый верхний ряд всегда делают из трех коротких бревен.
По данным значениям a, b и c определите максимальную высоту избы, которую можно построить из одной заготовки. Каждые пять уложенных брёвен (два длинных и три коротких) увеличивают высоту дома на 1.
Входные данные
Программа получает на вход три целых числа a, b и c — длины брёвен и заготовки (1 ≤ a < b < c ≤ 1018), записанных в отдельных строках.
Обратите внимание, что значения входных данных могут быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).
Выходные данные
Программа должна вывести одно целое число — максимальную высоту избы, которую можно построить из заготовки.
Answers & Comments
a = int(input())
b = int(input())
c = int(input())
h = -1
def rec_house(a, b, c, h):
if c < 0:
if h % 2 == 0:
print(h-1)
else:
print(h-2)
return
if h % 2 == 0:
c -= 3*a
h += 1
rec_house(a, b, c, h)
else:
c -= 2*b
h += 1
rec_house(a, b, c, h)
rec_house(a, b, c, h)