님게임

님게임 이란?

님생선구이 2024. 3. 14. 09:13

님 게임은 수학적 전략 보드게임입니다.

몇 줄에 숫자나 자연수 개의 돌을 두고 순서대로 돌아가면서 한 줄에서 정해진 수의 숫자를 제거합니다.

가져오는 숫자에는 상한이 있으며 무조건 1개만 가져와야 합니다. 

마지막 돌을 가져오는 사람이 이기게 됩니다.

여러 줄로 이루어진 경우, 아직 어려운 경우가 있으므로

우선 바둑돌 20개와 상한선 3개로 님 게임 규칙을 정해보겠습니다.

번갈아가며 바둑돌을 1~3개 가져가는 게임입니다.

마지막 바둑돌을 가져가는 사람이 승리합니다.

이런 수학적 전략 게임은 학생들에게 논리적 사고와 전략을 배우는데 도움이 됩니다.

재미있게 게임을 즐기면서 수학적 원리를 익힐 수 있습니다.

 

바둑돌 20개와 상한선 3개로 님 게임 규칙을 정해보겠습니다.

번갈아가며 바둑돌을 1~3개 가져가는 게임입니다. 마지막 바둑돌을 가져가는 사람이 승리합니다.

여기 님 게임의 간단한 Python 코드 예시입니다.

 

[Python 코드]

 

def nim_game():
    stones = 20
    current_player = 1

    while stones > 0:
        print(f"현재 돌의 개수: {stones}")
        print(f"플레이어 {current_player}의 차례입니다.")

        taken = 0
        while taken not in [1, 2, 3]:
            taken = int(input("돌을 몇 개 가져가시겠습니까? (1, 2, 3): "))

        stones -= taken
        current_player = 3 - current_player

    print(f"플레이어 {3 - current_player}가 이겼습니다!")

nim_game()

 

사실 코드 아니라도 선택가능수+1로 나눈 수에 나머지 고려하면 금방 해결됩니다.

일명 베스킨라빈스 써리원게임이 이 방법으로 해결이 완벽하게 되죠.

한번 해 보세요.

 

 

 

 

'님게임' 카테고리의 다른 글

님게임(Nim Game)이 쏘아 올린 작은 공  (1) 2024.03.13