কম্পিউটার

একটি অ্যারেতে ন্যূনতম সংখ্যা যোগ করুন যাতে যোগফল সি প্রোগ্রামিং-এ সমান হয়


একটি অ্যারে দেওয়া, অ্যারেতে সর্বনিম্ন সংখ্যা (যা 0-এর বেশি হওয়া উচিত) যোগ করুন যাতে অ্যারের যোগফল সমান হয়৷

ইনপুট - 1 2 3 4,

আউটপুট - 2

ব্যাখ্যা - অ্যারের যোগফল 10, তাই আমরা

যোগফল সমান করতে সর্বনিম্ন সংখ্যা 2 যোগ করুন।

পদ্ধতি 1 :অ্যারের সমস্ত উপাদানের যোগফল গণনা করুন, তারপর যোগফলটি জোড় কিনা তা পরীক্ষা করুন তারপরে সর্বনিম্ন সংখ্যা যোগ করুন 2, অন্যথায় সর্বনিম্ন সংখ্যা যোগ করুন 1৷

ইনপুট - 1 2 3 4,

আউটপুট - 2

ব্যাখ্যা - অ্যারের যোগফল 10, তাই যোগফল সমান করতে ন্যূনতম সংখ্যা 2 যোগ করুন।

উদাহরণ

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4};
   int n=4;
   int sum=0;
   for (int i = 0; i <n; i++) {
      sum+=arr[i];
   }
   if (sum % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

পদ্ধতি 2 - অ্যারের মধ্যে উপাদানের বিজোড় সংখ্যা গণনা করুন। বিজোড় সংখ্যার গণনা জোড় হলে আমরা 2 ফেরত দিই, অন্যথায় আমরা 1 ফেরত দিই।

ইনপুট - 1 2 3 4 5

আউটপুট - 1

ব্যাখ্যা - না। অ্যারের মধ্যে হল 3
যোগফল সমান করতে সর্বনিম্ন নম্বর 1 যোগ করুন।

উদাহরণ

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   int odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd += 1;
      }
   }
   if (odd % 2==0) {
      cout <<"2";
   } else {
      cout <<"1";
   }
   return 0;
}

পদ্ধতি 3 - একটি ফ্ল্যাগ ভেরিয়েবল নিন (0 হিসাবে আরম্ভ করা হয়েছে)। যখনই আমরা অ্যারেতে বিজোড় উপাদান খুঁজে পাই আমরা বুলিয়ান ভেরিয়েবলে NOT(!) অপারেশন করি। এই লজিক্যাল অপারেটরটি ফ্ল্যাগ ভেরিয়েবলের মানকে উল্টে দেয় (অর্থাৎ এটি 0 হলে, এটি ভেরিয়েবলকে 1 এ রূপান্তর করে এবং এর বিপরীতে)।

ইনপুট - 1 2 3 4 5

আউটপুট - 1

ব্যাখ্যা - পরিবর্তনশীল 0 হিসাবে আরম্ভ করা হয়েছে।
অ্যারে ট্র্যাভার্সিং
1 বিজোড়, পরিবর্তনশীল 1.
2 সমান
3 বিজোড়, পরিবর্তনশীল 0 পরিবর্তিত হয়েছে।
4 সমান
5 বিজোড়, পরিবর্তনশীল পরিবর্তন 1

পরিবর্তনশীল মান 1 হলে এর মানে হল বিজোড় সংখ্যার বিজোড় উপাদান উপস্থিত, উপাদানগুলির যোগফল জোড় করার জন্য ন্যূনতম সংখ্যা 1 যোগ করে।

অন্যথায় সর্বনিম্ন সংখ্যা 2।

উদাহরণ

#include<iostream>
using namespace std;
int main() {
   int arr[] = { 1, 2, 3, 4,5};
   int n=5;
   bool odd = 0;
   for (int i = 0; i < n; i++) {
      if (arr[i] % 2!=0) {
         odd = !odd;
      }
   }
   if (odd) {
      cout <<"1";
   } else {
      cout <<"2";
   }
   return 0;
}

  1. C++ এ জোড় এবং বিজোড় স্থানে একটি সংখ্যার অঙ্কের সমষ্টি খুঁজুন

  2. যোগ করার জন্য সর্বনিম্ন মান খুঁজুন যাতে অ্যারে C++ এ ভারসাম্যপূর্ণ হয়

  3. C++ ব্যবহার করে অ্যারেটিকে ভালো করার জন্য ন্যূনতম সংখ্যক উপাদান সরানো উচিত।

  4. একটি অ্যারেতে ন্যূনতম সংখ্যা যোগ করুন যাতে যোগফল C++ এ সমান হয়?