Предмет: Информатика, автор: Dre4nt

Задача 4: Задача из ЕГЭ

Тимофей готовится к ЕГЭ. Для отработки навыка скорости и точности поиска ответов на задания по теме «Системы счисления» ему часто приходится решать примеры типа «сколько значащих нулей (или единиц) содержит двоичная запись значения выражения 2a + 2b − 2c?». Значащими называются все цифры, кроме нулей в начале числа (которые обычно и не записываются). Например, десятичное число 20 в двоичной системе счисления записывается как 10100, и в этой записи две значащие цифры «1» и три значащие цифры «0».

Помогите Тимофею по известным a, b и c узнать ответ на задачу.

Входные данные
Программа получает на вход четыре целых неотрицательных числа: a, b, c и d, записанные в отдельных строках. Числа a, b и c соответствуют показателям степеней двоек в задании (0 ≤a, b, c, ≤109). При этом гарантируется, что 2a + 2b − 2c > 0 и a ≠ b.

Число d равно либо 0, либо 1 — цифра, количество которых в значении выражения нужно узнать.

Выходные данные
Программа должна вывести одно неотрицательное целое число — ответ на задачу.

Система оценивания
Решение, правильно работающее только для случаев, когда входные данные не превосходят 12, будет оцениваться в 40 баллов.

Пример
Ввод
4
3
2
1
Вывод
2

Ответы

Автор ответа: gkagagkjagj21
2

Ответ:

a = int(input())

b = int(input())

c = int(input())

d = int(input())

it = 0

n = (2 ** a) + (2 ** b) - (2 ** c)

aye = format(n, 'b')

for i in aye:

   if i == str(d):

       it += 1

print(it)

Объяснение:

Похожие вопросы
Предмет: Қазақ тiлi, автор: Райханkz
Предмет: Математика, автор: qdjdbsjq