কম্পিউটার

আমরা ব্যাগ বিতরণ করতে পারি কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম যাতে দুই বন্ধু একই পরিমাণ ক্যান্ডি পাবে


ধরুন আমাদের কাছে 4টি উপাদান সহ একটি অ্যারে রয়েছে। এখানে 4 ব্যাগ ক্যান্ডি আছে, ith ব্যাগে A[i] পরিমাণ ক্যান্ডি থাকে। আমরা প্রতিটি ব্যাগ আমাদের দুই বন্ধুর একজনকে দিতে চাই। আমাদের পরীক্ষা করতে হবে যে আমরা এই ব্যাগগুলি এমনভাবে বিতরণ করতে পারি যে প্রতিটি বন্ধু মোট একই পরিমাণ ক্যান্ডি পায়?

সুতরাং, যদি ইনপুটটি A =[1, 7, 11, 5] এর মত হয়, তবে আউটপুটটি True হবে, কারণ আমরা প্রথম এবং তৃতীয় ব্যাগটি প্রথম বন্ধুকে এবং দ্বিতীয় এবং চতুর্থ ব্যাগটি বন্ধুকে দিতে পারি। দ্বিতীয় বন্ধু। এইভাবে, প্রতিটি বন্ধু 12টি ক্যান্ডি পাবে৷

পদক্ষেপ

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

a := A[0]
b := A[1]
c := A[2]
d := A[3]
if (a + b) is same as (c + d) or (a + c) is same as (b + d) or (a + d) is same as (b + c) or (a + b + c) is same as d or (a + b + d) is same as c or (a + c + d) is same as b or (b + c + d) is same as a, then:
   return true
Otherwise
   return false

উদাহরণ

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

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

bool solve(vector<int> A) {
   int a = A[0];
   int b = A[1];
   int c = A[2];
   int d = A[3];
   if (a + b == c + d || a + c == b + d || a + d == b + c || a + b + c == d || a + b + d ==          c || a + c + d == b || b + c + d == a)
      return true;
   else
      return false;
}
int main() {
   vector<int> A = { 1, 7, 11, 5 };
   cout << solve(A) << endl;
}

ইনপুট

1, 7, 11, 5

আউটপুট

1

  1. একটি নম্বর প্রাইম কি না তা পরীক্ষা করার জন্য C++ প্রোগ্রাম

  2. দুটি সিকোয়েন্স একই কিনা তা পরীক্ষা করার জন্য C# প্রোগ্রাম

  3. সকলে পাইথনে আসন পেতে পারে কি না তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. আমরা পাইথনে এন কুইন্স সলিউশন পেতে পারি কি না তা পরীক্ষা করার জন্য প্রোগ্রাম