Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, уберите одну букву из любого слова в наборе того же задания так, чтобы у Пети не осталось вообще никаких возможностей победить.
В ответ запишите измененное слово. Если вариантов изменения несколько, запишите то слово, убранная буква из которого стоит ближе всего к началу слова.
Ваня побеждает, если составляемое слово имеет четную длину. Поэтому, если мы уберем любую букву из слова ЧЕРЕПАХАХАМ, Ваня победит, так как слово станет четной длины. Соответственно убираем первую букву Ч.
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, уменьшите количество повторений последовательности букв ЗВУКИ в слове ЗВУКИ...ЗВУКИ, чтобы выигрышная стратегия появилась у другого игрока.
В ответ запишите сумму всех возможных новых количеств повторений. (Последовательность не может повторяться 0 раз).
Петя побеждает, если составляемое слово имеет четную длину. Значит, чтобы он победил, нужно сделать слово ЗВУКИ...ЗВУКИ четной длины. Любое число при умножении на четное дает четное число, значит последовательность ЗВУКИ должна повторяться четное количество раз: 2, 4, 6, ..., 124 раза. Сумму этих количеств можно найти как сумму арифметической прогрессии: .
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, уберите одну букву из слова ГЭНДАЛЬФЧЕРНЫЙ в наборе того же задания так, чтобы у второго игрока не осталось вообще никаких возможностей победить.
В ответ запишите измененное слово. Если вариантов изменения несколько, запишите то слово, убранная буква из которого стоит ближе всего к началу слова.
Петя побеждает, если составляемое слово имеет нечетную длину. Поэтому, если мы уберем любую букву из слова ГЭНДАЛЬФЧЕРНЫЙ, Петя победит, так как слово станет нечетной длины. Соответственно убираем первую букву Г.
Ошибка.
Попробуйте повторить позже
Найдите сумму значений S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache lru_cache(None) def f(a, b, c=0): if a + b >= 186: return 0 if c > 5: return 1000 t = [f(a+7, b, c+1), f(a+11, b, c+1), f(a*2, b, c+1), f(a, b*2, c+1), f(a, b+7, c+1),f(a, b+11, c+1)] n = [i for i in t if i <= 0] if n: return -max(n) + 1 return -max(t) a = [] for i in range(1, 176): if f(10, i) == 2: a.append(i) print(sum(a))
Ошибка.
Попробуйте повторить позже
Найдите наибольшее и наименьшее значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без пробелов.
from functools import lru_cache lru_cache(None) def f(a, b, c=0): if a + b >= 205: return 0 if c > 5: return 1000 if a > b: t = [f(a, b + a, c + 1), f(a, b * 2, c + 1)] else: t = [f(a + b, b, c + 1), f(a * 2, b, c + 1)] n = [i for i in t if i <= 0] if n: return -max(n) + 1 return -max(t) for i in range(1, 197): if f(9, i) == 2: print(i)
Ошибка.
Попробуйте повторить позже
Найдите количество значений S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache lru_cache(None) def f(a, b, c=0): if a + b >= 169: return 0 if c > 5: return 1000 t = [f(a+4, b, c+1), f(a*2, b, c+1), f(a*3, b, c+1), f(a, b+4, c+1), f(a, b*2, c+1), f(a, b*3, c+1)] n = [i for i in t if i <= 0] if n: return -max(n) + 1 return -max(t) count = 0 for i in range(1, 154): if f(15, i) == 2: count += 1 print(count)
Ошибка.
Попробуйте повторить позже
Найдите сумму значений S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache lru_cache(None) def f(a, b, c=0): if a + b >= 124: return 0 if c > 5: return 1000 t = [f(a+1, b, c+1), f(a+3, b, c+1), f(a+b, b, c+1), f(a, b+1, c+1), f(a, b+3, c+1), f(a, b+a, c+1)] n = [i for i in t if i <= 0] if n: return -max(n) + 1 return -max(t) for i in range(1, 111): if f(13, i) == 2: print(i)
Ошибка.
Попробуйте повторить позже
Найдите наибольшее и наименьшее значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания без пробелов.
def f(a): if a >= 47: #если камней в куче стало больше 47, то выход из функции return 0 t = [f(a+2), f(a+5), f(a*2)] #сформировали список ходов n = [i for i in t if i <= 0] #записываем отрицательные элементы из t if n: #если n не пустой список return -max(n)+1 #получаем положительный выигрышный ход для Пети else: return -max(t) #получаем отрицательный выигрышный ход для Вани for i in range(1,47): if f(i) == 2: print(i)
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19 при P = 10, найдите минимальное и максимальное значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания через пробел.
from functools import lru_cache @lru_cache(None) def f(a, b): if a + b >= 50: return 0 h = [f(a + 2, b), f(a * 3, b),f(a, b + 2),f(a, b * 3)] t = [i for i in h if i <= 0] if t:return -max(t)+1 return -max(h) for i in range(1, 40): if f(i, 10) == 2 and not(f(i, 10) == 1): print(i)
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите два минимальных значения S такох, при котором Ваня совершает не более двух ходов и выигрывает. При этом у Вани нет стратегии, которая позволяла бы ему гарантированно выиграть, совершив один ход.
Найденные значения запишите в порядке возрастания через пробел.
from functools import lru_cache @lru_cache(None) def f(a): if a >= 65: return 0 if a * 3 >= 109: n = [f(a + 5), f(a + 7)] else: n = [f(a + 5), f(a + 7), f(a * 3)] #список с возможными ходами t = [i for i in n if i <= 0] #список с отрицательными ходами if t: return -max(t) + 1 #выигрыш Пети else: return -max(n) #выигрыш Вани for i in range(1, 40): if f(i) == -2: print(i)
Ошибка.
Попробуйте повторить позже
В игре, описанной в задании 19, в начальный момент количество камней в первой и третьей куче поменяли местами.
Укажите минимальное и максимальное из таких значений S, при которых Петя не может выиграть первым ходом, но у Пети есть выигрышная стратегия, позволяющая ему выиграть вторым ходом при любой игре Вани.
В ответе запишите сначала минимальное значение, затем через пробел максимальное.
from functools import lru_cache lru_cache(None) def f(a, b, d, c = 0): if a + b + d >= 300: return 0 if c > 4: return 1000000 t = [f(a*3, b, d, c+1),f(a+b+d, b, d, c+1),f(a, b*3, d, c+1), f(a, b + a + d, d, c+1),f(a, b, d*3, c+1),f(a, b, d+a+b, c+1)] n = [i for i in t if i <= 0] if n: return -max(n) + 1 return -max(t) a = [] for i in range(1,101): if f(i+25, i, 45) == 2: a.append(i) print(min(a), max(a))
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите сумму значений S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache lru_cache(None) def f(a, b, d, c = 0): if a + b + d >= 150: return 0 if c > 3: return 1000000 t = [f(a*2, b, d, c+1),f(a+16, b, d, c+1),f(a+32, b, d, c+1), f(a, b*2, d, c+1),f(a, b+16, d, c+1),f(a, b+32, d, c+1), f(a, b, d*2, c+1),f(a, b, d+16, c+1),f(a, b, d+32, c+1)] n = [i for i in t if i <= 0] if n: return -max(n) + 1 return -max(t) a = [] for i in range(1,67): if f(6, 2*i, 3*i) == 2: a.append(i) print(sum(a))
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите такое значение S, при котором у Вани есть выигрышная стратегия, причём одновременно выполняются два условия:
— Ваня не может гарантированно выиграть, совершив один ход;
— Ваня может выиграть, совершив не более двух ходов, независимо от того, как будет ходить Петя.
from functools import lru_cache @lru_cache(None) def f(a): if a >= 100: return 0 if a * 4 > 120: n = [f(a + 3)] else: n = [f(a + 3), f(a * 4)] #список с возможными ходами t = [i for i in n if i <= 0] #список с отрицательными ходами if t: return -max(t) + 1 #выигрыш Пети else: return -max(n) #выигрыш Вани for i in range(1, 61): if f(i) == -2: print(i)
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите минимальное значение Y, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
def f(x,y): if (x**2 + y**2)**0.5 >= 20:return 0 m = [f(x+2,y),f(x,y+3)] n = [i for i in m if i <= 0] if n:return -max(n) + 1 return -max(m) for y in range(1,20): if f(5,y) == 2: print(y) break
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите минимальное S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache @lru_cache(None) def f(a,b,c): if a+b+c >= 110:return 0 m = [f(a+1,b,c),f(a*2,b,c),f(a,b+1,c),f(a,b*2,c),f(a,b,c+1),f(a,b,c*2)] n = [i for i in m if i <= 0] if n:return -max(n) + 1 return -max(m) for i in range(1,95): if f(10,5,i) == 2: print(i) break
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
def f(a): if a >= 64:return 0 m = [f(a+1),f(a*2)] n = [i for i in m if i <= 0] if n:return -max(n) + 1 return -max(m) for i in range(1,64): if f(i) == 2: print(i)
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите такое значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache @lru_cache(None) def f(a,b): if a + b >= 122:return 0 m = [f(a+1,b),f(a*3,b),f(a,b+1),f(a,b*3)] n = [i for i in m if i <= 0] if n:return -max(n)+1 return -max(m) for i in range(1,115): if f(7,i) == 2: print(i)
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите количество S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache @lru_cache(None) def f(a): if a >= 120:return 0 m = [f(a+2),f(a+3),f(a*3)] n = [i for i in m if i <= 0] if n:return -max(n)+1 return -max(m) c = 0 for i in range(1,120): if f(i) == 2: c += 1 print(c)
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите минимальное значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
from functools import lru_cache @lru_cache(None) def f(a,b): if a+b >= 60:return 0 m = [f(a+1,b),f(a*2,b),f(a,b+1),f(a,b*2)] t = [i for i in m if i <= 0] if t:return -max(t)+1 return -max(m) for i in range(1,50): if f(10,i) == 2: print(i) break
Ошибка.
Попробуйте повторить позже
Для игры, описанной в задании 19, найдите минимальное значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
def f(a): if a >= 70:return 0 t = [f(a+1),f(a*2)] n= [i for i in t if i <= 0] if n:return -max(n) + 1 return -max(t) for i in range(1,70): if f(i) == 2: print(i) break