написать программу на пайтоне. Не совсем понимаю, что от меня хотят. Сегодня знаменательный день! В Межгалактическом Обществе Программистов сразу у n программистов день рождения! Поскольку программисты в этом обществе – очень дружный народ, они решили отпраздновать эти дни рождения все вместе.

Как известно, все разумные существа во вселенной в день рождения зажигают свечки на торте. Программисты зажигают свечки в соответствии с двоичной записью числа. Например, если программисту исполнилось 24 года, он втыкает в торт 5 свечек и зажигает только первые 2, поскольку 2410 = 110002, a если ему исполнилось 31, то придется зажечь все 5 свечек.

Программисты быстро заметили, что если свечка не была зажжена то ее можно вытащить из торта и воткнуть в следующий. Конечно, они не хотят расходовать лишних свечек и поэтому решили посчитать, в каком порядке стоит праздновать дни рождения, чтобы минимизировать их расход.

Поскольку общество межгалактическое, в нем есть индивиды самого разного возраста от 1 до 109 лет.

Напишите программу, которая определяет наименьшее количество свечек, которое потребуется, чтобы отпраздновать все дни рождения.

Формат входных данных
В первой строке находится одно число n (1 ≤ n ≤ 100) – количество программистов.

Во второй строке находится n чисел ai (1 ≤ ai ≤ 109) – сколько лет исполняется каждому программисту.

Формат результата
В единственной строке выведите одно целое число – минимальное количество свечек, которые придется потратить.

Примеры
Входные данные
3
1 2 4
Результат работы
3
Входные данные
3
5 2 1
Результат работы
4

nastia04102015 nastia04102015    2   28.11.2021 11:22    124

Ответы
DXDynamic31 DXDynamic31  03.01.2022 23:04

# смысл программы -- посчитать количество единичных битов в переведенных в двоичную сс чисел

# ввод n

n = int(input())

#печатаем сумму единиц у чисел после перевода

print(sum(sum(int(u) for u in bin(int(x)) if u=='1') for x in input().split()))

ПОКАЗАТЬ ОТВЕТЫ
HwaSa77816 HwaSa77816  03.01.2022 23:04

n = int(input())

numbers = [int(i) for i in input().split()]

print(n + sum(numbers) // (2 ** n))

Объяснение:

Зашло!!1!1!)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика