Alice and Bob take turns playing a game, with Alice starting first.
Initially, there is a number N
on the chalkboard. On each player's turn, that player makes a move consisting of:
- Choosing any
x
with0 < x < N
andN % x == 0
. - Replacing the number
N
on the chalkboard withN - x
.
Also, if a player cannot make a move, they lose the game.
Return True
if and only if Alice wins the game, assuming both players play optimally.
Example:
Input: N=10
Output: true
Approach
Java
public class DivisorGame {public static void main(String[] args) {int n = 10;System.out.println(divisorGame(n));}static boolean divisorGame(int N) {if (N % 2 == 0)return true;return false;}}
C++
#include <bits/stdc++.h>using namespace std;bool divisorGame(int N){if(N%2==0)return true;return false;}int main(){int n=10;if(divisorGame(n))cout<<"true";elsecout<<"false";return 0;}
No comments:
Post a Comment