Форум » Теория игр » Задача (№ 3074) (Е. Джобс) » Ответить

Задача (№ 3074) (Е. Джобс)

bliss61@mail.ru: Не могу найти ошибку в рассуждениях, может не правильный ответ или я что то не учла def f(x, p): if x >= 1000 and p == 3: return True else: if x < 1000 and p == 3: return False else: if x >= 1000 and (p == 1 or p == 2 or p == 3): return False if x % 2 != 0: return f(x + 100, p + 1) or f(x * 2, p + 1) else: return f(x + 100, p + 1) and f(x * 2, p + 1) count = 0 for s in range(1,1000): if f(s, 0): count += 1 print(count) def f1(x, p): if x >= 1000 and p == 1: return True else: if x < 1000 and p == 1: return False else: if x >= 1000: return False if x % 2 != 0: return f1(x + 100, p + 1) or f1(x * 2, p + 1) else: return f1(x + 100, p + 1) and f1(x * 2, p + 1) count1 = 0 for s in range(1,1000): if f1(s, 0): count1 += 1 print(count1) print(count - count1)

Ответов - 5

bliss61@mail.ru: Не могу найти ошибку в рассуждениях, может не правильный ответ или я что то не учла [pre2] def f(x, p): if x >= 1000 and (p == 2 or p == 4): return True else: if x < 1000 and p == 4: return False else: if x >= 1000: return False if p % 2 != 0: return f(x + 100, p + 1) or f(x * 2, p + 1) else: return f(x + 100, p + 1) and f(x * 2, p + 1) count = 0 fl = 0 for s in range(1,1000): if f(s, 0): print(s) [/pre2]

елена1234: А где можно прочитать условие этой задачи?

Поляков: елена1234 пишет: А где можно прочитать условие этой задачи? Здесь.


bliss61@mail.ru: (№ 3074) (Е. Джобс) Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может а) добавить в кучу сто камней или б) увеличить количество камней в куче в два раза. Например, имея кучу из 10 камней, за один ход можно получить кучу из 110 или 20 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 1000. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 1000 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 999. Ответьте на следующие вопросы: Вопрос 1. Сколько существует значений S, при которых Ваня выигрывает первым ходом? Вопрос 2. Сколько существует значений S, при которых Петя может выиграть своим вторым ходом? Вопрос 3. Назовите минимальное и максимальное значения S, при которых Ваня выигрывает своим первым или вторым ходом, при этом для любого значения у Вани есть возможность выиграть своим первым ходом (в случае ошибки Пети). Найденные значения запишите в ответе в порядке возрастания.

EugeneJobs: У вас нет проверки на то, что победа может быть получена вторым ходом. Значения, которые идут до 250, не дают возможности Ване победить первым ходом.



полная версия страницы