কম্পিউটার

C++ এ অনুমোদিত একটি পাথর অপসারণের সাথে নিমের খেলা


এই সমস্যাটির নাম নিম খেলা , আমাদের একটি ধনাত্মক পূর্ণসংখ্যা N দেওয়া হয়েছে যা পাথরের স্তূপ নির্দেশ করে এবং সেখানে দুটি খেলোয়াড় আছে 'playerA' এবং 'playerB' . আমাদের কাজ হল গেম অফ নিমের বিজয়ীর ভবিষ্যদ্বাণী করার জন্য একটি প্রোগ্রাম তৈরি করা৷

নিম খেলা − আমাদের কাছে পাথরের স্তূপ এবং দুইজন খেলোয়াড় 'playerA' আছে এবং 'playerB' . ‘playerA’ হলে প্রতিটি খেলোয়াড় গাদা থেকে একটি স্টোর বাছাই করতে পারে স্তূপ থেকে একটি পাথর তুলতে শুরু করে। আমাদের খেলার বিজয়ীর ভবিষ্যদ্বাণী করতে হবে। স্তুপ থেকে পাথর বাছাই করা শেষ খেলোয়াড় গেমের বিজয়ী৷

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক

Input: N = 6
Output: playerB
Explanation :
Total stones = 6, players picking stones as
playerA - playerB - playerA - playerB - playerA - playerB

সমাধান পদ্ধতি

সমস্যা সমাধানের একটি পদ্ধতি হল N এর মান এবং গেমের বিজয়ীর জন্য সাধারণ সূত্র খুঁজে বের করা। আসুন N-এর কিছু মান দেখি, এবং প্রতিটি ক্ষেত্রে বিজয়ীরা,

N =1, বিজয়ী =playerA

N =2, বিজয়ী =playerB

N =3, বিজয়ী =playerA

এর থেকে, আমরা বের করতে পারি যে যদি N বিজোড় হয়, তাহলে playerA বিজয়ী। আর যদি N হয়, তাহলে প্লেয়ারB বিজয়ী হয়।

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম

#include<iostream>
using namespace std;

bool findGameofNimWinner(int N){
   if(N%2 == 0)
      return 0;
   else
      return 1;
}
int main(){

   int N = 26;
   cout<<"The winner of the Game of Nim is ";
   findGameofNimWinner(N) ? (cout << "Player A") : (cout << "Player B");
   return 0;
}

আউটপুট

The winner of the Game of Nim is Player B

  1. C++ এ একটি মুছে ফেলার সাথে সর্বাধিক সাবারে যোগফল

  2. C++ এ কয়েন গেমে বিজয়ীর ভবিষ্যদ্বাণী করুন

  3. C++ এ অনুমোদিত অন্যের সাথে প্রতিস্থাপনের সাথে খরচ কম করুন

  4. C++ এ একটি ডিফল্ট মান সহ একটি সাধারণ বিন্যাসের সূচনা