কম্পিউটার টিউটোরিয়াল

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


একটি অ্যারে দেওয়া আছে, অ্যারেতে ন্যূনতম সংখ্যা (যেটি ০-র চেয়ে বড় হতে হবে) যোগ করুন যাতে অ্যারের যোগফল জোড় হয়।

ইনপুট - 1 2 3 4,

আউটপুট - 2

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

ন্যূনতম সংখ্যা ২ যোগ করি যাতে যোগফল জোড় হয়।

পদ্ধতি ১: অ্যারের সব এলিমেন্টের যোগফল বের করুন, তারপর চেক করুন যোগফল জোড় কিনা। যদি জোড় হয়, তবে ন্যূনতম সংখ্যা ২, অন্যথায় ১।

ইনপুট - 1 2 3 4,

আউটপুট - 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; }

পদ্ধতি ২ - অ্যারেতে বিজোড় সংখ্যক এলিমেন্টের কাউন্ট বের করুন। যদি বিজোড় সংখ্যার কাউন্ট জোড় হয়, তবে ২ রিটার্ন করুন, অন্যথায় ১।

ইনপুট - 1 2 3 4 5

আউটপুট - 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; }

পদ্ধতি ৩ - একটি ফ্ল্যাগ ভেরিয়েবল নিন (ইনিশিয়ালাইজড ০)। যতক্ষণ অ্যারেতে বিজোড় এলিমেন্ট পাবেন, বুলিয়ান ভেরিয়েবলে NOT(!) অপারেশন করুন। এই লজিক্যাল অপারেটর ফ্ল্যাগ ভেরিয়েবলের মান উল্টিয়ে দেবে (অর্থাৎ ০ হলে ১, ১ হলে ০)।

ইনপুট - 1 2 3 4 5

আউটপুট - 1

ব্যাখ্যা - ভেরিয়েবল ০ হিসেবে ইনিশিয়ালাইজড।
অ্যারে ট্রাভার্স
১ বিজোড়, ভেরিয়েবল ১ হয়েছে।
২ জোড়
৩ বিজোড়, ভেরিয়েবল ০ হয়েছে।
৪ জোড়
৫ বিজোড়, ভেরিয়েবল ১ হয়েছে।

যদি ভেরিয়েবলের মান ১ হয়, মানে বিজোড় সংখ্যক বিজোড় এলিমেন্ট আছে, যোগফল জোড় করার জন্য ন্যূনতম ১ যোগ করতে হবে।
অন্যথায় ন্যূনতম সংখ্যা ২।

উদাহরণ

#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++-এ অ্যারে ব্যালেন্সড (Balanced) করার জন্য যোগ করতে হবে সর্বনিম্ন মান খুঁজে বের করা

  3. C++ ব্যবহার করে অ্যারে 'ভালো' করার জন্য ন্যূনতম এলিমেন্ট অপসারণ

  4. C++-এ অ্যারেতে ন্যূনতম সংখ্যা যোগ করে যোগফল জোড় করার পদ্ধতি