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#).
Выходные данные Программа должна вывести одно целое число — максимальную высоту избы, которую можно построить из заготовки.
Старший разряд в дополнительном коде двоичного числа отвечает за знак числа. 0 ~ "+", 1 ~ "-". 1. Если старший разряд равен 0, то последующие разряды напрямую переводятся в число. 2. Если старший разряд равен 1, то число отрицательное и следующие за старшим разрядом записываются в виде: инверсия битов+прибавление единицы. Следовательно для перевода их в исходное число требуется: вычесть единицу+инверсия Но так, как второе число состоит из 7 знаков, то слева дописывается незначащий 0. И мы возвращаемся в пункт 1(или просто число записано с ошибкой и вы потеряли разряд).
Дано 1600 ширина, 1200 высота, 16 млн 777 тыс 216 ед цветов.
решение 1600 * 1200 = 1920000 пикселей в общем плане. 16777216 переводим в вес с калькулятора, ln(16777216)/ln(2) = 24 бит на 1 пиксель выделить цвет. 1920000 пикс * 24 бит пиксель = 46 080 000 бит вес памяти переводим в удобный вариант как у видеокарт 46080000 бит / 8 бит в байте = 5760000 байт 5760000 байт / 1024 байт в килобайте = 5625 килобайт 5625 килобайт / 1024 килобайт в мегабайте = 5,4931640625 короче мой компьютер бы показал 5.49 мегабайт.
теперь можно подобрать что 64 мегабайт подойдёт, остольной нет.
ln это натуральный логариф как он работает и я незнаю, но он делает обратное преобразование от знака ^ которого ты не лубиш. примеры 10+10 = 20, чтобы узнать как с 10 полулось 20 мы делаем через минус, 20 - 10 = 10, вот сделали обратно преобразование. а если умножение? 10*10 = 100, обратное будет 100 / 10 = 10. 10^2 = 100, обратное но именно степень вернуть, тогда логарифм.
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)