М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ARKSHIM
ARKSHIM
05.06.2022 02:59 •  Информатика

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

👇
Ответ:
zatheeva
zatheeva
05.06.2022

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)

Объяснение:

4,4(89 оценок)
Ответ:
ylmor228l
ylmor228l
05.06.2022

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'))

Объяснение:

4,4(70 оценок)
Открыть все ответы
Ответ:
uzil1565
uzil1565
05.06.2022

Объяснение:

1. ( 1 или 0) это логическое "или" поэтому будет равно 1, тоже самое со второй скобкой. В третьей скобке импликация. Она равна нулю только при первом аргументе 1, а при втором 0. Теперь у нас конъюнкция между 1 и 1. Конъюнкция равна единице, когда оба аргумента единицы. Теперь конъюнкция между 1 и 0. Из сказанного выше, это будет равняться 0. ответ 0.

2. Первая скобка: Не а или не а будет равно 1, по закону исключённого третьего. Вторая скобка не в или не в будет равна не в (—в). Между 1 и не в следует поставить знак дизъюнкции, что б выражения всегда принимало значение истина(1)

4,8(90 оценок)
Ответ:
mrcanxer
mrcanxer
05.06.2022

Объяснение:

1. ( 1 или 0) это логическое "или" поэтому будет равно 1, тоже самое со второй скобкой. В третьей скобке импликация. Она равна нулю только при первом аргументе 1, а при втором 0. Теперь у нас конъюнкция между 1 и 1. Конъюнкция равна единице, когда оба аргумента единицы. Теперь конъюнкция между 1 и 0. Из сказанного выше, это будет равняться 0. ответ 0.

2. Первая скобка: Не а или не а будет равно 1, по закону исключённого третьего. Вторая скобка не в или не в будет равна не в (—в). Между 1 и не в следует поставить знак дизъюнкции, что б выражения всегда принимало значение истина(1)

4,6(63 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ