
Иоанн
4 год назад
На уроке информатики сегодня обсуждалась тема "Двоичные деревья". Пока шли уроки, Петя нарисовал в тетради лес из нескольких различных полных двоичных деревьев. Вечером он подсчитал количество узлов у всех этих деревьев. Их оказалось 2947.Какое наименьшее количество деревьев мог нарисовать Петя?
ОТВЕТЫ

Григорий
Oct 24, 2020
В каждом дереве 2^n узлов. Поскольку надо найти наименьшее количество деревьев, надо разбить число 2947 на слагаемые, которые представляют собой степени двойки, причем каждое новое отделяемое слагаемое должно быть максимальной степенью двойки, "влезающей" в остаток. Количество слагаемых будет являться ом.
2947 = 2048 + 899 = 2048 + 512 + 387 = 2048 + 512 + 256 + 131 = 2048 + 512 + 256 + 128 + 3 = 2048 + 512 + 256 + 128 + 2 + 1
: 6.
Иными словами, переводим число 2947 в двоичную систему и считаем количество единиц в записи числа.
2947 = 2048 + 899 = 2048 + 512 + 387 = 2048 + 512 + 256 + 131 = 2048 + 512 + 256 + 128 + 3 = 2048 + 512 + 256 + 128 + 2 + 1
: 6.
Иными словами, переводим число 2947 в двоичную систему и считаем количество единиц в записи числа.
157
Смежные вопросы: