কম্পিউটার

পাশা নিক্ষেপের খেলায় দুই খেলোয়াড় কত উপায়ে জয়ী বা ড্র করেছে তা গণনা করার জন্য C++ প্রোগ্রাম


ধরুন আমাদের দুটি সংখ্যা a এবং b আছে। অমল আর বিমল একটা খেলা খেলছে। প্রথমে তাদের প্রত্যেকে 1 থেকে 6 পর্যন্ত একটি পূর্ণসংখ্যা লেখে, তারপর একটি পাশা নিক্ষেপ করা হয়। যে খেলোয়াড়ের লিখিত নম্বর কাগজে লেখা নম্বরের কাছাকাছি পৌঁছেছে, সে সেই রাউন্ডে জিতবে, যদি তাদের উভয়ের মধ্যে একই পার্থক্য থাকে, তবে সেটি ড্র। যদি অমল সংখ্যাটি a লিখে এবং বিমল b লিখে, তাহলে আমাদেরকে অমলের জিততে সম্ভাব্য সম্ভাব্য সংখ্যা, সম্ভাব্য ড্রয়ের সংখ্যা এবং বিমল যেভাবে জিততে পারে তার সংখ্যা গণনা করতে হবে।

সুতরাং, যদি ইনপুটটি a =2 এর মত হয়; b =4, তাহলে আউটপুট হবে [2, 1, 3] তাই Amal 2টি সম্ভাব্য উপায়ে জিততে পারে। যদি ডাইস 3 দেখায়, একটি ড্র আছে।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

s1 := 0
s2 := 0
s3 := 0
if (a + b) mod 2 is same as 0, then:
   s2 := 1
if a is same as b, then:
   s2 := 6
otherwise when a > b, then:
   s1 := 6 - ((a + b) / 2)
Otherwise
   s1 := (a + b - s2 - 1) / 2
s3 := 6 - s1 - s2
print s1, s2 and s3

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

void solve(int a, int b) {
   int s1 = 0, s2 = 0, s3 = 0;
   if ((a + b) % 2 == 0)
   s2 = 1;
   if (a == b)
      s2 = 6;
   else if (a > b)
      s1 = 6 - ((a + b) / 2);
   else
      s1 = (a + b - s2 - 1) / 2;
   s3 = 6 - s1 - s2;
   cout << s1 << ", " << s2 << ", " << s3 << endl;
}
int main() {
   int a = 2;
   int b = 4;
   solve(a, b);
}

ইনপুট

2, 4

আউটপুট

2, 1, 3

  1. উইন্ডোজ 10-এ কীভাবে একটি স্লাইডশো তৈরি করবেন:দুটি সহজ উপায়

  2. C++ প্রোগ্রাম 0 নম্বর করতে ন্যূনতম কতগুলি অপারেশন প্রয়োজন তা খুঁজে বের করতে

  3. ডোডেকাগনের সংখ্যা গণনা করার জন্য C++ প্রোগ্রাম আমরা d এর আকার তৈরি করতে পারি

  4. আমরা পাইথনে গাছটিকে দুটি গাছে কত উপায়ে ভাগ করতে পারি তা গণনা করার প্রোগ্রাম