1. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число чётное, то к двоичной записи числа слева дописывается 10;
б) если число нечётное, то к двоичной записи числа слева дописывается 1 и справа дописывается 01.
Полученная таким образом запись является двоичной записью искомого числа R.
Например, для исходного числа 410 = 1002 результатом будет являться число 2010 = 101002, а для исходного числа 510 = 1012 результатом будет являться число 1101012 = 5310.
Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее, чем 516. В ответе запишите это число в десятичной системе счисления.
for n in range(1,1000):
s=bin(n)[2:]
s=str(s)
if n%2==0:
s="10"+s
else:
s="1"+s+"01"
r = int(s, 2)
if r>516:
print(n)
break
2. Исполнитель Черепаха передвигается по плоскости и оставляет след в виде линии. Черепаха может выполнять две команды:
Запись
Черепаха выполнила следующую программу:
Повтори 11 [Вперёд 36 Направо 72].
Определите расстояние между положениями Черепахи в начале и в конце выполнения этой программы. В ответе запишите целое число, ближайшее к найденному расстоянию.
3. Полина составляет 6-буквенные коды из букв П, О, Л, И, Н, А. Каждую букву нужно использовать ровно
from itertools import * # это мощный и эффективный инструмент в Pythonдля работы с последовательностями данных, особенно полезный для задач,требующих генерации комбинаций, перестановок или других сложных итерацийk = 0 #счетчик k
for p in permutations('ПОЛИНА'): #перебор всех вариантов
s = ''.join(p) #Преобразуем кортеж символов 'p' в строку 's'
s = s.replace('Л', '1').replace('Н', '1').replace('П', '1') #Замена всех согласных на 1
s = s.replace('О', '0').replace('И', '0').replace('А', '0') #Замена всех согласных на 0
if '11' not in s and '00' not in s: # нет ни "00", ни "11"
k=k+1
print(k)
4. В каждой строке электронной таблицы записаны пять целых положительных чисел. Определите, сколько в таблице строк, для которых выполнены следующие условия:
— все числа в строке различны;
— нечётных чисел больше, чем чётных;
— сумма нечётных чисел меньше суммы чётных.
В ответе запишите число — количество строк, для которых выполнены эти условия.
f=open("1.txt")
k=0
for i in f:
s=i.split()
a=sorted([int(i) for i in s])
nech=0
ch=0
snech=0
sch=0
for i in range(len(a)):
if a[i]%2!=0:
nech=nech+1
snech=snech+a[i]
else:
ch = ch + 1
sch = sch+a[i]
if (nech > ch) and (snech < sch) and (len(a) == len(set(a))):
k=k+1
print(k)
5. Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение
Если в строке нет вхождений
Б) нашлось (v).
Эта команда проверяет, встречается ли
Дана программа для редактора:
НАЧАЛО
ПОКА НЕ нашлось (00)
заменить (01, 220)
заменить (02, 1013)
заменить (03, 120)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что в исходной
Какое наименьшее количество цифр могло быть
mi=100000000
for x in range(50):
for y in range(50):
for z in range(50):
n = '0' + '1'*x + '2'*y + '3'*z +'0'
while '00' not in n:
if '01' in n:
n = n.replace('01', '220', 1)
elif '02' in n:
n = n.replace('02', '1013', 1)
elif '03' in n:
n = n.replace('03', '120', 1)
if n.count('1') == 13 and n.count('2') == 18:
s = x + y + z
mi = min(mi, s)
print(mi + 2)
Ответ: 10
6. Маской подсети называется 32-разрядное двоичное число, которое определяет, какая часть IP-адреса компьютера относится к адресу сети, а какая часть IP-адреса определяет адрес компьютера в подсети. В маске подсети старшие биты, отведенные в IP-адресе компьютера для адреса сети, имеют
Если маска подсети 255.255.255.224 и IP-адрес компьютера в сети 162.198.0.157, то порядковый номер компьютера в сети
255.255.255.224
162.198.0.157
--------------------
11111111. 11111111 .11111111 .11100000
10100010.1100 0110.00000000.10011101
11101(2)->>29(10)
Ответ:29
7. Числа AB967D8p и E435A98p записаны в системе счисления При каком
for p in range(15, 100):
a1 = 10*p**6 + 11*p**5 + 9*p**4 + 6*p**3 + 7*p**2 + 13*p**1 + 8
a2 = 14*p**6 + 4*p**5 + 3*p**4 + 5*p**3 + 10*p**2 + 9*p**1 + 8
if (a1 + a2) % (p - 1) == 0:
print(p)
break
Ответ: 40
8. Для какого наименьшего целого неотрицательного
тождественно истинно при любых целых
for A in range(1, 1000):
fl=True
for x in range(1, 1000):
for y in range(1, 1000):
if ((2*x+3*y!=60) or (A>=x) or(A>=y))==False:
fl=False
break
if fl==True:
print(A)
break
Ответ:12
9. В файле содержится последовательность из 10 000 натуральных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, у которых различные остатки от деления на d = 160 и хотя бы одно из чисел делится на p = 7, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.
Пример входных данных:
168
7
320
328
Пример выходных данных для приведённого выше примера входных данных:
4 488
Пояснение. Из
Ответ:
10. Робот стоит в левом верхнем углу прямоугольного поля, в каждой клетке которого записано целое положительное число. За один ход робот может переместиться на одну клетку вправо, вниз или по диагонали вправо вниз.
На каждый шаг вправо робот затрачивает
Необходимо перевести робота в правый нижний угол поля. Определите максимальное и минимальное значения запаса энергии, который может быть у робота после завершения маршрута и подзарядки в последней клетке.
В ответе запишите два числа: сначала максимально возможное значение, затем минимально возможное.
Исходные данные записаны в электронной таблице. Пример входных данных (для таблицы размером 4 × 4):
43 | 47 | 25 | 35 |
49 | 52 | 83 | 64 |
97 | 8 | 22 | 32 |
36 | 7 | 85 | 74 |
При указанных входных данных максимальное значение 303 получится при движении по маршруту 43 → 49 → 52 → 83 → 22 → 85 →R 9; 74, а минимальное значение 141 при движении по маршруту 43 → 49 → 8 → 22 → 74. В ответе в данном случае надо записать
Ответ:
11. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу
Игра завершается в тот момент, когда количество камней в куче становится
В начальный момент в куче было
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное
12. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу
Игра завершается в тот момент, когда количество камней в куче становится
В начальный момент в куче было
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без разделительных знаков.
13. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу
Игра завершается в тот момент, когда количество камней в куче становится
В начальный момент в куче было
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.
Найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Комментариев нет:
Отправить комментарий