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

C++-এ রেঞ্জ L থেকে R-এ কন্ট ও Одд সংখ্যা গণনা

দুটি পূর্ণসংখ্যা L এবং R দেওয়া আছে। L থেকে R পর্যন্ত (ইনক্লুসিভ) কতটি জোড় এবং কতটি বিজোড় সংখ্যা আছে তা বের করুন।

উদাহরণ

L=7, R=17 → জোড়: 5, বিজোড়: 6

L=1, R=10 → জোড়: 5, বিজোড়: 5

গাণিতিক সূত্র (O(1))

মোট সংখ্যা = R - L + 1

  • যদি মোট সম হয়: জোড় = বিজোড় = মোট/২
  • যদি মোট বিজোড় হয়:
    • L জোড় হলে: জোড় = মোট/২ + ১, বিজোড় = মোট/২
    • L বিজোড় হলে: বিজোড় = মোট/২ + ১, জোড় = মোট/২

C++ বাস্তবায়ন


#include 
using namespace std;

pair countOddEven(int L, int R) {
    int total = R - L + 1;
    int even = total / 2;
    int odd = total / 2;
    if (total % 2 == 1) {
        if (L % 2 == 0) even++;
        else odd++;
    }
    return {even, odd};
}

int main() {
    int L = 7, R = 17;
    auto [even, odd] = countOddEven(L, R);
    cout << "Even: " << even << ", Odd: " << odd;
    return 0;
}

লুপ ভিত্তিক পদ্ধতি (O(R-L))


int Odd_Even(int L, int R) {
    int even = 0;
    for (int i = L; i <= R; i++)
        if (i % 2 == 0) even++;
    return even;
}

সামान्य规律

যেকোনো আদি কনsekutিভ পূর্ণসংখ্যা রেঞ্জে জোড় ও বিজোড়ের পার্থক্য সর্বোচ্চ ১ হতে পারে।

  1. C++-এ অ্যারেতে জোড় ও বিজোড় উপাদান গণনা (Count Even and Odd Elements in Array)

  2. সি++ প্রোগ্রাম: সম এবং বিজোড় অ্যারে থেকে অনুপস্থিত এলিমেন্ট খুঁজে বের করা

  3. C++-এ অ্যারে ইনডেক্স যেখানে বাম ও ডান পাশে জোড় বা বিজোড় সংখ্যার কাউন্ট সমান

  4. পাইথন প্রোগ্রাম লিস্টে ইভেন ও অড্ড সংখ্যা কাউন্ট করা