1025. Divisor Game

LeetCode easy original: C# #backtracking #csharp #easy #leetcode #queue
선택한 UI 언어에 맞게 문제 텍스트를 러시아어에서 번역합니다. 코드는 변경하지 않습니다.

Алиса и Боб играют в игру по очереди, причем Алиса начинает первой. Изначально на доске мелом написано number n. В свой ход каждый игрок делает ход, состоящий из: выбора любого x при 0 < x < n и n % x == 0. Замены числа n на доске на n - x. Также, если игрок не может сделать ход, он проигрывает игру. returnsся true тогда и только тогда, когда Алиса выигрывает игру, предполагая, что оба игрока играют оптимально.

예제:

Input: n = 2

Output: true

C# 해법

매칭됨/원본
public class Solution {
    public bool DivisorGame(int n) {
        return n % 2 == 0;
    }
}

C++ 해법

자동 초안, 제출 전 검토
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public bool DivisorGame(int n) {
        return n % 2 == 0;
    }
}

Java 해법

매칭됨/원본
public class Solution {
    public boolean divisorGame(int n) {
        return n % 2 == 0;
    }
}

JavaScript 해법

매칭됨/원본
class Solution {
    divisorGame(n) {
        return n % 2 === 0;
    }
}

Python 해법

매칭됨/원본
class Solution:
    def divisorGame(self, n: int) -> bool:
        return n % 2 == 0

Algorithm

정의 выигрыша:

Заметим, что если number n четное, Алиса всегда выигрывает, потому что она может уменьшить n на 1, и оставить Боба с нечетным numberм.

Если number n нечетное, Алиса всегда проигрывает, потому что Боб может уменьшить n на 1, и оставить Алису с четным numberм.

Проверка четности числа:

Проверяем, четное ли number n. Если n четное, возвращаем true, если нечетное, возвращаем false.

Возврат результата:

Возвращаем результат в зависимости от четности числа n.

😎

Vacancies for this task

활성 채용 with overlapping task tags are 표시됨.

전체 채용
아직 활성 채용이 없습니다.