用 C++ 預測硬幣遊戲中獲勝者
在這個遊戲中,有兩個玩家 X 和 Y。我們的任務是預測如果雙方都採取最佳策略並且 X 先開始遊戲,誰將贏得遊戲。
遊戲
在硬幣遊戲中,有兩堆分別有 N 和 M 枚硬幣。其中一個玩家選擇一堆硬幣開始遊戲。然後,任務是將這堆硬幣分成兩半,直到任何一個玩家都不能再分為止。
讓我們來看一個例子來理解這個問題:
Input: M = 2 , N = 2 Output:X
解釋 - X 開始遊戲並選擇 M 堆(兩者相同),並將這堆硬幣分成兩半。現在每堆只有一枚硬幣,所以 Y 將沒有下一步可走。這將使 X 獲勝。
為了解決這個問題,我們需要觀察玩家 X 獲勝的可能性。玩家 X 獲勝的情況是當任何一堆硬幣的數量為偶數時。否則,Y 將獲勝。
展示我們邏輯實現的程式
示例
#include <iostream>
using namespace std;
int isXWinner(int M, int N) {
if (M % 2 == 0 || N % 2 == 0)
return 1;
return 0;
}
int main() {
int M = 1, N = 2;
cout<<"Game Starts!\n";
if(isXWinner(M,N))
cout<<"Player X is the Winner";
else
cout<<"Player Y is the Winner";
return 0;
}輸出
Game Starts! Player X is the Winner
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP