Программа курса:
Внимание! Решать задачи может только авторизованный
пользователь. Пройдите регистрацию на сайте.
Задача 1: Игра в делитель
Напишите определение функции divisorGame(n), которая принимает одно целое число n — начальное число на доске.
Функция должна вернуть:
True, если Алиса выигрывает игру, играя оптимально.False, если Алиса проигрывает игру, играя оптимально.
Описание задачи:
Алиса и Боб играют по очереди, начиная с Алисы.
- Изначально на доске записано число
n. - На каждом ходе игрок выбирает число
x, удовлетворяющее условиям:0 < x < nn % x == 0(то естьxявляется делителем числаn).
- После выбора числа
x, игрок заменяет числоnна доске наn - x. - Если игрок не может сделать ход (не существует подходящего
x), он проигрывает.
Необходимо вернуть True, если Алиса выигрывает игру, предполагая, что оба игрока играют оптимально, и False в противном случае.
Примеры:
Пример 1:
Входные данные: n = 2
Выходные данные: True
Объяснение:
Алиса выбирает x = 1, после чего на доске остаётся n = 1. Боб не может сделать ход и проигрывает.
Пример 2:
Входные данные: n = 3
Выходные данные: False
Объяснение:
Алиса выбирает x = 1, после чего на доске остаётся n = 2. Боб выбирает x = 1, и на доске остаётся n = 1. Алиса больше не может сделать ход и проигрывает.
Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии