В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
ArianTop
ArianTop
12.01.2023 08:35 •  Информатика

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

Показать ответ
Ответ:
лера2083
лера2083
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)

Объяснение:

0,0(0 оценок)
Ответ:
Doplis
Doplis
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'))

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота