Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ทายผลผู้ชนะในเกมเหรียญในภาษา 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