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

Ограничение времени 1 секунда
ограничение памяти 64mb
ввод стандартный ввод или input.txt
вывод стандартный вывод или output.txt
в самом начале своего пребывания в угуланде сэр макс мог общаться с безмолвной речи только со псом джуффина хуфом. но талант к истинной магии не потеряешь! и когда из дома маклуфа прибежал слуга с сообщением о новом преступлении, макс послал зов джуффину в дом у моста! джуффин, макс и другие сотрудники тайного войска стали обследовать комнату, в которой произошло убийство. у каждого из них есть свой индикатор магии, встроенный в какой-нибудь обычный предмет, у джуффина — в трубку. в мире угуланда запрещена белая магия выше пятого уровня и черная магия выше второго, а тут индикаторы зашкаливают! вам нужно определить, каких нарушений было больше: белой магии или черной. в любом случае нужно еще вывести на сколько максимально было превышено допустимое значение.

формат ввода
вводится целое число n — количество сотрудников, измеряющих уровень магии. каждый сотрудник сначала передает измеренное значение уровня белой магии, в следующей строке — черной. то есть дальше идут 2 * n строк.

формат вывода
выводятся две строки в формате: белая магия или черная магия или поровну. максимальное превышение: {количество}

пример 1
ввод вывод
3
5
3
12
2
4
5
черная магия
максимальное превышение: 7
пример 2
ввод вывод
3
15
3
12
2
4
5
поровну
максимальное превышение: 10
примечания
если нарушений не было или было одинаковое количество, то вывести поровну.

Показать ответ
Ответ:
ilmasha24
ilmasha24
22.04.2021 22:08

Мы продолжаем публикацию цикла «руководств пользователя», посвященных теоретическому и практическому рассмотрению различных компонентов современного ПК, начало которому положил материал «Современные десктопные процессоры архитектуры x86: общие принципы работы (x86 CPU FAQ 1.0)». В настоящем руководстве мы рассмотрим основные современные виды оперативной памяти, применяемой в десктопных системах (оперативную память, применяемую в серверах и ноутбуках, оставим за его рамками). Под ними будем подразумевать память класса SDRAM — SDR (Single Data Rate — память с одинарной скоростью передачи данных), DDR (Double Data Rate — память с удвоенной скоростью передачи данных) и DDR2 (память DDR второго поколения). Возможно, SDRAM «как таковая» (в ее первоначальном варианте SDR SDRAM) на сегодня уже не является столь актуальным видом памяти, тем не менее, все три перечисленных вида принадлежат одному и тому же классу и базируются примерно на одних и тех же принципах функционирования, которые мы и рассмотрим прямо сейчас.Содержание

0,0(0 оценок)
Ответ:
danko6kotov6alegro
danko6kotov6alegro
10.05.2020 19:54

Код в приложении.

Пояснения:

Посмотрим, как же нам решить задачу. Сначала, поймём как обнулить бит. Бит можно обнулить если использовать логическое И с нулём. Значит, нам нужно использовать логическое И на нужном бите. Как же это сделать? В С++ есть побитовые операции между двумя числами, но побитовое И (&) применяется между всеми битами двух чисел, т.е.

101\ \& \ 110 = (1 \&1)(0\& 1)(1 \& 0) = 100

Заметим, что

a \& 0 = 0\\a \& 1 = a

Числа в С++ с фиксированной разрядностью, т.е. битов всегда определённое кол-во. Исходя из условий задачи, тут нужен int - 32-битный тип.

Тогда, чтобы обнулить нужный бит, нам нужно использовать побитовое И с таким числом, что все его биты, кроме нужного, равны 1.

Добиться этого мы сможем следующим образом. Сдвинем 1 влево на k бит и получим такое число, что все биты, кроме k-го равны 0, а k-ый равен 1, и используем побитовую инверсию (~), т.е. инвертируем каждый бит в числе.

Получив нужное число, выполняем побитовое И и обнуляем k-ый бит.

Как работают примеры:

n = 21 = 10101, \ k = 1\\n \& \sim(1

И второй пример:

n = 21 = 10101, \ k = 2\\n \& \sim (1


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