По проге!
макс и даниил играют в игру.
даниил написал на доске все целые числа от 1 до n. теперь он будет стирать числа, а макс должен указывать, какие числа следует стереть.
позиции чисел нумеруются слева направо, начиная с единицы. каждый раз, пока на доске остаются не менее двух чисел, макс может попросить даниила стереть либо все числа на чётных позициях, либо все числа на нечётных позициях.
после каждого стирания позиции чисел, оставшихся на доске, заново нумеруются слева направо, начиная с единицы.
макс победит в игре, если последним числом, оставшимся на доске, будет x. максу правильно указать даниилу, какие числа нужно стирать.
примеры
входные данные
10 1
выходные данные
0 0 0 0
входные данные
10 10
выходные данные
1 0 0 1
уменя такой код: (выдает тайм лимит)
n, x = map(int,
l = [i for i in range(1, n + 1)]
while n > 1:
if n % 2 == 1 and x % 2 == 1:
n //= 2
n += 1
else:
n //= 2
if x % 2 == 0:
print(1, end = ' ')
else:
print(0, end = ' ')
if x % 2 == 1:
x //= 2
x += 1
else:
x //= 2
можно записать так:
n, x = map(int,
l = [i for i in range(1, n + 1)]
while n > 1:
n = n // 2 + (n % 2 + x % 2) // 2
print(abs(x % 2 - 1), end = ' ')
x = (x + x % 2) // 2
1. Находим количество точек (пикселей) в кадре 640×480 = 307200
2. Находим размер палитры 250×1024×8/307200 = 6 бит (отбрасываем дробную часть после деления)
3. Количество цветов в палитре не может превышать 2⁶ = 64
Пояснение: 250 Кбайт = 250×1024 байт = 250×1024×8 бит.
Задача 2.
1. Находим объем исходной палитры
256 = 2⁸, поэтому объем составит 8 бит
2. Находим объем новой палитры
2=2¹, поэтому объем составит 1 бит.
3. Находим, во сколько раз уменьшится объем файла
8/1=8 - в восемь раз.
4. Если первоначальный объем был Х, то новый станет Х/8. Уменьшение объема составит X-X/8 = 7X/8 и это равно 7 Кбайт.
Тогда 7Х=7*8 Кбайт, откуда Х=8 Кбайт