Trong bài toán Game of Nim, cho số nguyên dương N đại diện cho đống đá và hai người chơi playerA và playerB. Nhiệm vụ là dự đoán người thắng cuộc.
Luật chơi
Mỗi người chỉ được lấy 1 viên đá mỗi lượt. PlayerA đi trước. Người lấy viên đá cuối cùng thắng.
Ví dụ minh họa
Input: N = 6 Output: playerB Giải thích: 6 viên đá, luân phiên A-B-A-B-A-B → B thắng
Phương pháp giải
Quan sát quy luật: N lẻ → PlayerA thắng, N chẵn → PlayerB thắng.
Ví dụ chương trình
#include<iostream>
using namespace std;
bool findGameofNimWinner(int N){
return (N % 2 != 0);
}
int main(){
int N = 26;
cout << "Người thắng Game of Nim là ";
findGameofNimWinner(N) ? (cout << "Player A") : (cout << "Player B");
return 0;
}
Kết quả
Người thắng Game of Nim là Player B