Задача 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, будет оцениваться в

angelinalitvine angelinalitvine    2   24.05.2021 17:40    105

Ответы
ruan ruan  23.06.2021 17:42

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)

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Bro1221 Bro1221  23.06.2021 17:42

A, B, C, D = int(input()), int(input()), int(input()), int(input())

if A >= 0 and B >= 0 and C >= 0 and A != B and(D == 0 or D == 1):

   a, b, c, d = A, B, C, D

   answ = 2 ** a + 2 ** b - 2 ** c

   print(str(bin(answ)).count('1'))

Объяснение:

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