Last updated on October 10th, 2024 at 01:59 am

Here, We see ** Nim Game LeetCode Solution**. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc., with different approaches.

*List of all LeetCode Solution*

*List of all LeetCode Solution*

## Topics

Brainteaser, Minimax

## Companies

Adobe

## Level of Question

Easy

**Nim Game LeetCode Solution**

## Table of Contents

**Problem Statement**

Given ** n**, the number of stones in the heap, return

*true**if you can win the game assuming both you and your friend play optimally, otherwise return*

**.**

*false*You are playing the following Nim Game with your friend:

- Initially, there is a heap of stones on the table.
- You and your friend will alternate taking turns, and
**you go first**. - On each turn, the person whose turn it is will remove 1 to 3 stones from the heap.
- The one who removes the last stone is the winner.

Example 1:Input: n = 4Output: falseExplanation: These are the possible outcomes: 1. You remove 1 stone. Your friend removes 3 stones, including the last stone. Your friend wins. 2. You remove 2 stones. Your friend removes 2 stones, including the last stone. Your friend wins. 3. You remove 3 stones. Your friend removes the last stone. Your friend wins. In all outcomes, your friend wins.

Example 2:Input:n = 1Output:trueExample 3:Input:n = 2Output:true

**1. Nim Game Leetcode Solution C++**

class Solution { public: bool canWinNim(int n) { return n%4 ; } };

**2. Nim Game Leetcode Solution Java**

class Solution { public boolean canWinNim(int n) { return (n & 0b11) != 0; } }

**3. Nim Game Leetcode Solution JavaScript**

var canWinNim = function(n) { if(n%4==0) return false; else return true; };

**4. Nim Game Leetcode Solution Python**

class Solution(object): def canWinNim(self, n): return True if n%100%4 else False