Задания
Версия для печати и копирования в MS Word
Тип 19 № 75283
i

Два иг­ро­ка, Петя и Ваня, иг­ра­ют в сле­ду­ю­щую игру. Перед иг­ро­ка­ми лежит куча кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вый ход де­ла­ет Петя. Если ко­ли­че­ство кам­ней в куче де­лит­ся на целое k (2 ≤ k ≤ 9), то игрок может убрать из кучи k кам­ней. Если ко­ли­че­ство кам­ней в куче не де­лит­ся ни на одно из ука­зан­ных чисел, игрок уби­ра­ет один ка­мень, после чего вы­пол­ня­ет ход по опи­сан­но­му выше пра­ви­лу.

 

На­при­мер, если в куче 12 кам­ней, то за один ход можно убрать 2, 3, 4 или 6 кам­ней, а если в куче 11 кам­ней, то игрок за один ход сна­ча­ла уби­ра­ет один ка­мень (остаётся 10), а затем уби­ра­ет 2 или 5 кам­ней.

Игра за­вер­ша­ет­ся, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не более 9.

По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, то есть пер­вым по­лу­чив­ший кучу, в ко­то­рой будет 15 или мень­ше кам­ней.

В на­ча­ле игры в куче было S кам­ней, S > 9.

Ука­жи­те ми­ни­маль­ное зна­че­ние S, при ко­то­ром Петя не может вы­иг­рать пер­вым ходом, но при любом пер­вом ходе Пети Ваня может вы­иг­рать своим пер­вым ходом.

Ре­ше­ние.

Это за­да­ние ещё не ре­ше­но, при­во­дим ре­ше­ние про­то­ти­па.


Два иг­ро­ка, Петя и Ваня, иг­ра­ют в сле­ду­ю­щую игру. Перед иг­ро­ка­ми лежит куча кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вый ход де­ла­ет Петя. Если ко­ли­че­ство кам­ней в куче де­лит­ся на целое k (2 ≤ k ≤ 9), то игрок может убрать из кучи k кам­ней. Если ко­ли­че­ство кам­ней в куче не де­лит­ся ни на одно из ука­зан­ных чисел, игрок уби­ра­ет один ка­мень, после чего вы­пол­ня­ет ход по опи­сан­но­му выше пра­ви­лу.

 

На­при­мер, если в куче 12 кам­ней, то за один ход можно убрать 2, 3, 4 или 6 кам­ней, а если в куче 11 кам­ней, то игрок за один ход сна­ча­ла уби­ра­ет один ка­мень (остаётся 10), а затем уби­ра­ет 2 или 5 кам­ней.

Игра за­вер­ша­ет­ся, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не более 15.

По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, то есть пер­вым по­лу­чив­ший кучу, в ко­то­рой будет 15 или мень­ше кам­ней.

В на­ча­ле игры в куче было S кам­ней, S > 15.

Ука­жи­те ми­ни­маль­ное зна­че­ние S, при ко­то­ром Петя не может вы­иг­рать пер­вым ходом, но при любом пер­вом ходе Пети Ваня может вы­иг­рать своим пер­вым ходом.

При­ведём ре­ше­ние на языке Python.

def f(x, h):

delit = [k for k in range(2, 10) if x % k == 0]

if x <= 15:

return h % 2 == 0

elif h == 0:

return 0

elif not any(x % k == 0 for k in range(2, 10)):

x -= 1

elif (h-1)%2 ==0:

return any(f(x-k, h-1) for k in delit)

else:

return all(f(x-k, h-1) for k in delit)

for x in range(16, 100):

if f(x,2):

print('За­да­ча 19:',x)

break

 

 

Ответ: 22.


Аналоги к заданию № 75256: 75283 Все

Источник: Стат­Град: Тре­ни­ро­воч­ная ра­бо­та 28.01.2025 ИН2410302