Информатика

15 724 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Напишите программу, которая сбрасывает (устанавливает 0) все биты числа N кроме последних k битов.  Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!

Входные данные

Дано целое число N и натуральное число k.


Выходные данные

Выведите на экран число, полученное после сбрасывания битов.

 

Примеры
Входные данные Выходные данные
1 5 1 1
 


 

Напишите программу, которая сбрасывает (устанавливает 0) k-й бит числа  N. Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

Входные данные

Дано целое число N (N<109) и натуральное число k (k<109).


Выходные данные

Выведите на экран число, полученное после сбрасывания заданного бита.

 

Примеры
Входные данные Выходные данные
1 5 2 1
 


 

Напишите программу, которая инвертирует k-й бит числа  N. Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

Входные данные

Дано целое число N и натуральное число k.


Выходные данные

Выведите на экран число, полученное после инвертирования заданного бита.

 

Примеры
Входные данные Выходные данные
1 5 2 1
 

 

Напишите программу, которая устанавливает 1 в k-й бит числа  N. Выведите на экран полученное число.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

Входные данные

Дано целое число N и натуральное число k.


Выходные данные

Выведите на экран число, полученное после установки в 1 заданного бита.

 

Примеры
Входные данные Выходные данные
1 5 1 7
 
 

Громозека записал на листочек n чисел ai. Затем он выполняет над массивом следующую операцию

  • выбирает два различных целых числа i, j (1 <= i < j <= n) и заменяет ai на x и aj на y. Чтобы не нарушать массив, Громозека следить чтобы выполнялось условия ai|aj=x|y, где | обозначает побитовое ИЛИ. Заметьте, что x и y это целые неотрицательные числа.

Громозека хочет определить минимальную сумму элементов массива, которую он может получить после выполнения вышеуказанной операции любое количество раз. Так как Громозека должен как можно быстрее отправиться в очередное космическое путешествие, он просит у вас помощи!


Входные данные

Первая строка  входных данных содержит целое число n (2 <= n <= 100) -  количество чисел, которые записал Громоезка на листочке. Вторая строка входных данных содержит n целых чисел a1,a2,…,an (0<=ai<=230).


Выходные данные

Выведите минимальную возможную сумму массива.



Примеры
Входные данные Выходные данные
1
3
1 3 2
3
2
5
1 2 4 8 16
31
3
2
6 6
6
4
3
3 5 6
7
 
2^k#44570

Напишите программу, которая по заданному числу k (0 <= k <= 31) выводит на экран число 2k, то есть число, у которого k-й бит равен 1, а остальные - нули.

В программе нельзя использовать арифметические операции, необходимо использовать только битовые операции!
 

Примеры
Входные данные Выходные данные
1 5 32

Два числа a и b записаны в шестнадцатеричной системе счисления. Запись обоих имеет длину n. Вы можете сколько угодно раз менять две соседние цифры местами в любом из чисел. Какое максимальное значение может быть у результата применения побитовой операции XOR к получившимся после применения таких перестановок числам?

Эта операция определена над двоичным представлением чисел.

Определим операцию побитового исключающего «ИЛИ» (XOR). Пусть даны два целых неотрицательных двоичных числа x и y длины k (возможно с ведущими нулями): xk-1...x2x1x0 и yk-1...y2y1y0. Здесь xi это i-й бит числа x, а yi это i-й бит числа y. Пусть r = x XOR y - результат операции XOR над числами x и y. Тогда двоичной записью r будет rk-1...r2r1r0, где:  

\(r_i = \begin{cases} 1, ~ \text{если} ~ x_i ~ \neq ~ y_i \\ 0, ~ \text{если} ~ x_i ~ = ~ y_i \end{cases}\)



Входные данные

В первой строке содержится одно целое число n (1 <= <= 100000) - длина записи чисел. Во второй строке задана запись числа a. В третьей строке задана запись числа b.

Буквы A, B, C, D, E, F отвечают за цифры 10, 11, 12, 13, 14, 15 в шестнадцатеричной системе счисления соответсвенно. Записи могут содержать ведущие нули.


Выходные данные

В единственной строке вам необходимо вывести одно шестнадцатеричное число длины n, которое является ответом на вопрос из условия.


Примечание

В первом примере можно поменять две соседние цифры в первом числе, получится F0 XOR 0E = FE.

Во втором примере любая перестановка цифр не меняет a  XOR  b. Обратите внимание, что длина выводимого числа должна быть равна n, поэтому надо выводить лидирующие нули.

В третьем примере можно получить 101010 из a и 010100 из b.

 
Примеры
Входные данные Выходные данные
1
2
0F
0E
FE
2
3
000
000
000
3
6
010110
011000
111110

Однажды утром Глеб с ужасом осознал, что проспал, а пары в «Высшем университете» начинаются уже скоро. Опоздать было бы не так страшно, если бы он их и не вёл. К счастью, автомобиль Глеба «Пантера» довольно мощный: для упрощения будем считать, что за одну секунду он может сначала или увеличить скорость на 1, или уменьшить скорость на 1, или не менять её, а после этого его автомобиль проезжает x метров, где x - его текущая скорость в метрах в секунду. Потом он снова принимает решение об изменении скорости. Начальная скорость автомобиля преподавателя в момент, когда он только выезжает из дома, равна нулю. Путь до университета от его дома не близкий: нужно проехать d метров.

Глеб, обеспокоенный за знания своих студентов, хочет попасть в университет как можно раньше, чтобы успеть подготовиться к проведению лекции. К сожалению, у проезда на парковку университета установлен датчик движения: если скорость проезжающего транспортного средства будет превышать s, то администрация университета выпишет нарушителю дисциплинарное взыскание. Конечно, Глеб не хочет его получить, поэтому при въезде в университет, когда автомобиль проехал все d метров его скорость x должна быть не больше s.

Пока Глеб собирался на работу, его заинтересовал вопрос, а за какое минимальное время он может доехать до работы, если будет действовать оптимально, но не нарушать правила при въезде в университет. Так как преподаватель будет занят скоростным вождением, ответить на этот вопрос честь выпала вам!



Входные данные

В двух строках заданы два целых числа - ds (1 <= d <= 1018, 0 <= <= 1018), расстояние до университета и ограничение на конечную скорость.

Обратите внимание, что входные данные могут быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#). Язык Python будет корректно работать и с типом int.


Выходные данные
Выведите единственное число - минимальное время, за которое Глеб может доехать до университета, не получив дисциплинарное взыскание.
 

Примечание

В первом тесте из условия Глебу выгодно действовать следующим образом:

  1. Увеличить скорость на один, проехать один метр; скорость 1 м/с, проехал 1 метр.
  2. Не менять скорость, проехать один метр; скорость 1 м/с, проехал 2 метра.

     

Таким образом, он потратит 2 секунды, и его конечная скорость будет равно 1 м/с, что не превышает s.

Во втором тесте из условия Глебу выгодно действовать, например, так:

  1. Увеличить скорость на один, проехать один метр; скорость 1 м/с, проехал 1 метр.
  2. Увеличить скорость на один, проехать два метра; скорость 2 м/с, проехал 3 метра.
  3. Увеличить скорость на один, проехать три метра; скорость 3 м/с, проехал 6 метров.
  4. Уменьшить скорость на один, проехать два метра; скорость 2 м/с, проехал 8 метров.
  5. Уменьшить скорость на один, проехать один метр; скорость 1 м/с, проехал 9 метров.
  6. Не менять скорость, проехать один метр; скорость 1 м/с, проехал 10 метров.
  7. Уменьшить скорость на один; скорость 0 м/с, проехал 10 метров.

     

Таким образом, он потратит 7 секунд, и его конечная скорость будет равно 0 м/с, что не превышает s.

 
Примеры
Входные данные Выходные данные
1
2
1
2
2
10
0
7

Три лягушки сидят на числовой прямой в трёх различных точках с целочисленными координатами ab, c. Лягушки боятся отступать слишком далеко друг от друга, поэтому прыгать может только одна из крайних лягушек (такая, что слева или справа от нее нет других лягушек) и только в целочисленную точку между двумя другими лягушками, если такая есть. Заметим, что в некоторых положениях ни одна из лягушек прыгнуть не может, назовем их стабильными .

Требуется по заданному начальному положению лягушек определить минимальное и максимальное число прыжков, которые могут совершить лягушки, пока не попадут в какое-нибудь стабильное положение.



Входные данные

В трёх строках заданы три различных целых числа - ab, c (1 <= ab, c <= 1018), исходные позиции лягушек.

Обратите внимание, что входные данные могут быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#). Язык Python будет корректно работать и с типом int.


Выходные данные

Выведите два числа -  минимальное и максимальное число прыжков, за которое лягушки могут достичь стабильного состояния.

 

Примечание

В первом примере из условия лягушка с позиции 4 может прыгнуть на позицию 2 и образовать стабильное положение (1,2,3). Можно показать, что больше одного прыжка они сделать не смогут.

Во втором тесте из условия лягушка с позиции 1 может прыгнуть на позицию 4, а затем лягушка с позиции 10 может прыгнуть на позицию 3, тем самым придя в стабильное положение (2,3,4) за два прыжка. Можно показать, что больше 7 прыжков по описанным правилам лягушки сделать не могли.

В третьем тесте из условия лягушки уже находятся в стабильном положении, поэтому прыгать не смогут.

В четвёртом тесте из условия лягушка с позиции 1 может прыгнуть на позицию 4, а затем лягушка с позиции 5 может прыгнуть на позицию 3, тем самым придя в положение (2,3,4) за два прыжка. Можно показать, что больше двух прыжков лягушки сделать не могли.

 
Примеры
Входные данные Выходные данные
1
1
3
4
1
1
2
1
10
2
2
7
3
1
2
3
0
0
4
2
1
5
2
2
44492#44492

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:

X Y Z F
0 1 1 0
1 1 0 1
1 1 1 0
 

Какое выражение соответствует F?

1) X ∧ Y ∧ ¬Z

2) ¬X ∨ Y ∨ ¬Z

3) ¬X ∨ ¬Y ∨ Z

4) ¬X ∧ Y ∧ Z

44491#44491

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:

X Y Z F
1 1 1 0
0 1 0 1
0 0 0 1
 

Какое выражение соответствует F?

1) X ∨ Y ∨ Z

2) ¬X ∨ ¬Y ∨ ¬Z

3) X ∧ ¬Y ∧ Z

4) ¬X ∧ ¬Y ∧ ¬Z

44490#44490

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:

X Y Z F
0 1 1 1
0 1 0 1
0 0 1 1
 

Какое выражение соответствует F?

1) ¬X ∧ Y ∧ Z

2) X ∨ ¬Y ∨ Z

3) ¬X ∨ Y ∨ ¬Z

4) ¬X ∧ Y ∧ ¬Z

44489#44489

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:

X Y Z F
1 0 0 0
0 0 0 1
1 1 1 0
 

Какое выражение соответствует F?

1) ¬X ∨ ¬Y ∨ Z

2) X ∧ Y ∧ Z

3) X ∨ Y ∨ Z

4) ¬X ∧ ¬Y ∧ ¬Z

44488#44488

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:

X Y Z F
0 0 1 1
0 1 0 0
1 0 0 1
 

Какое выражение соответствует F?

1) X ∨ Y ∨ Z

2) X ∨ ¬Y ∧ ¬Z

3) X ∨ ¬Y ∨ Z

4) ¬X ∧ Y ∧ ¬Z

 

44487#44487

Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F:

X Y Z F
0 1 1 0
1 0 0 1
0 0 1 0
 

Какое выражение соответствует F?

1) (X ∨ ¬Y) ∧ Z

2) (X ∧ ¬Y) ∨ Z

3) (X ∨ ¬Y) ∨ ¬Z

4) X ∧ ¬Y ∧ ¬Z

44476#44476
Статья, набранная на компьютере, содержит 12 страниц на каждой странице 16 строки, в каждой строке 64 символа. Определите максимальное количество символов в алфавите, при помощи которого была набрана статья, если известно, что её информационный объём равен 15 килобайт.
44475#44475
Статья, набранная на компьютере, содержит 20 страниц на каждой странице 32 строки, в каждой строке 64 символа. Определите максимальное количество символов в алфавите, при помощи которого была набрана статья, если известно, что её информационный объём равен 60 килобайт.
44474#44474

Статья, набранная на компьютере, содержит 11 страниц на каждой странице 16 строк, в каждой строке 256 символов. Определите максимальное количество символов в алфавите, при помощи которого была набрана статья, если известно, что её информационный объём равен 55 килобайт.

44473#44473

Статья, набранная на компьютере, содержит 12 страниц на каждой странице 64 строки, в каждой строке 256 символов. Определите максимальное количество символов в алфавите, при помощи которого была набрана статья, если известно, что её информационный объём равен 288 килобайт.
 

44472#44472

Статья, набранная на компьютере, содержит 17 страниц на каждой странице 32 строки, в каждой строке 256 символов. Определите максимальное количество символов в алфавите, при помощи которого была набрана статья, если известно, что её информационный объём равен 187 килобайт.

 

Поделиться
Класснуть