Загрузка данных
#!/usr/bin/env python3
'''
Исполнитель Фибо преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера.
1. Прибавить 1.
2. Прибавить 2.
Первая команда увеличивает число на экране на 1, вторая увеличивает его на 2.
Программа для исполнителя Фибо — это последовательность команд.
Сколько существует программ, которые преобразуют исходное число 2 в число 18
и при этом траектория вычислений содержит число 9 и не содержит числа 14?
Траектория вычислений — это последовательность результатов выполнения всех
команд программы. Например, для программы 212 при исходном числе 7 траектория
будет состоять из чисел 9, 10, 12.
'''
def ege_23_15144(): # partial, not stop condition
print("ege_23_15144")
c = 0
for v in range(2**16):
#for v in range(500):
n = 2
ok9 = 0
s = "(2)"
for i in range(18):
if(v & (1<<i)):
n += 2
s += "%d(%d)" % (2, n)
else:
n += 1
s += "%d(%d)" % (1, n)
if(n == 9): ok9 = 1
if(n == 14):
break
if(n >= 18):
if((n == 18) and (ok9 > 0)):
s += " ok9=%d, n= %d" % (ok9, n)
#print(s)
c += 1
break
print("c= %d" % c)
pass
'''
Сотрудникам компании выдают электронную карту, на которой записаны их личный код,
номер подразделения (целое число от 1 до 1200) и дополнительная информация.
Личный код содержит 17 символов и может включать латинские буквы из 26-символьного
латинского алфавита (заглавные и строчные буквы различаются), десятичные цифры и
специальные знаки из набора @#$%^&*(). Для хранения кода используется посимвольное
кодирование, все символы кодируются одинаковым минимально возможным количеством битов,
для записи кода отводится минимально возможное целое число байтов. Номер подразделения
кодируется отдельно и занимает минимально возможное целое число байтов. Известно,
что на карте хранится всего 48 байтов данных. Сколько байтов занимает дополнительная информация?
'''
def ege_11_18819(): # done
print("ege_11_18819")
import math
#print("log= %f" % math.log2(1000))
nop = math.ceil(math.log2(1200) / 8)
print("nop= %f" % nop)
lk = math.ceil(math.ceil(math.log2(26 * 2 + 10 + 9)) * 17 / 8)
print("lk= %f" % lk)
res = 48 - lk - nop
print("res= %f" % res)
pass
'''
Для какого наибольшего целого числа А формула
((x ≤ 9) →(x ⋅ x ≤ A)) ⋀ ((y ⋅ y ≤ A) → (y ≤ 9))
тождественно истинна, то есть принимает значение 1 при любых целых неотрицательных x и y?
В логических выражениях точка (.) используется для обозначения конъюнкции — логической операции,
которая соответствует союзу «и» в естественном языке
Например, если A и B — простые высказывания, то выражение A · B (где точка обозначает конъюнкцию)
будет истинно только в случае, если оба высказывания A и B истинны
'''
def ege_15_13745(): # error
print("ege_15_13745")
maxa = 0
for A in range(1, 1000):
for x in range(10):
for y in range(10):
l = x and x
r = y and y
print("x= %d, l= %d, y= %d, r= %d, A= %d" % (x, l, y, r, A))
if((l <= A) and (r <= A)):
if(A > maxa):
maxa = A
print("max A= %d" % maxa)
pass
'''
Два игрока, Паша и Вася, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят
по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один или четыре камня
или увеличить количество камней в куче в пять раз. Игра завершается в тот момент, когда количество
камней в куче становится не менее 69. Победителем считается игрок, сделавший последний ход, то есть
первым получивший кучу, в которой будет 69 или больше камней. В начальный момент в куче было S камней,
1 ≤ S ≤ 68.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему
может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы
играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, то есть не являющиеся
выигрышными независимо от игры противника.
Известно, что Вася выиграл своим первым ходом после неудачного первого хода Паши.
Укажите минимальное значение S, когда такая ситуация возможна.
'''
def ege_19_27817():
print("ege_19_27817")
pass
ege_23_15144()
#ege_11_18819()
#ege_15_13745()
#ege_19_27817()