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

C++-এ দেওয়া প্রোডাক্টের জন্য দুটি ভিন্ন প্রাইম নম্বর বের করা

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যেটি দেওয়া প্রোডাক্টের জন্য দুটি ভিন্ন প্রাইম নম্বর বের করবে। কিছু উদাহরণ দেখি।

ইনপুট - 21

আউটপুট - 3 7

এখানে, আমাদের দেওয়া প্রোডাক্টের চেয়ে ছোট সব প্রাইম নম্বর থাকতে হবে। একবার সেগুলো পাওয়া গেলে, পেয়ার বের করা সহজ। নিচের ধাপগুলো ফলো করুন সমস্যাটি সমাধান করতে।

  • একটি প্রোডাক্ট এবং একটি বুলিয়ান অ্যারে ইনিশিয়ালাইজ করুন যেটি স্টোর করবে রেঞ্জের সংখ্যাগুলো প্রাইম কিনা।
  • দেওয়া প্রোডাক্টের চেয়ে ছোট সব প্রাইম নম্বর বের করে একটি অ্যারেতে স্টোর করুন।
  • দেওয়া প্রোডাক্ট পর্যন্ত ইটারেট করুন।
    • যতি কারেন্ট নম্বর প্রাইম হয় এবং n / current_number ও প্রাইম হয়, তবে চেক করুন সেগুলো ভিন্ন কিনা।
    • যদি ভিন্ন হয়, তবে সেগুলো প্রিন্ট করুন।

উদাহরণ

কোডটি দেখি।

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

bool primes(int n, bool primeStatus[]) {
    primeStatus[0] = primeStatus[1] = false;
    for (int i = 2; i <= n; i++) {
        primeStatus[i] = true;
    }
    for (int i = 2; i * i <= n; i++) {
        if (primeStatus[i] == true) {
            for (int j = i * 2; j <= n; j += i)
                primeStatus[j] = false;
        }
    }
}

int main() {
    int n = 21;
    bool primeStatus[n + 1], pairsFound = false;
    primes(n, primeStatus);
    for (int i = 2; i < n; i++) {
        int pair = n / i;
        if (primeStatus[i] && primeStatus[pair] && pair != i && pair * i == n) {
            cout << i << " " << pair << endl;
            pairsFound = true;
            break;
        }
    }
    if (!pairsFound) {
        cout << "No pairs";
    }
    return 0;
}

আউটপুট

3 7

উপসংহার

টিউটোরিয়ালে যদি কোনো প্রশ্ন থাকে, তবে কমেন্ট সেকশনে জানান।

  1. C++-তে অ্যারেতে থাকা সব প্রাইম নম্বরের গুণফল বের করা

  2. C++ প্রোগ্রাম: অ্যারে উপাদানগুলোর গুণফলের প্রথম ডিজিট বের করা

  3. C++ প্রোগ্রাম: দুটি সংখ্যা বের করা যাদের যোগফল ও গুণফল N-র সমান

  4. দুই সংখ্যা গুণ করার C++ প্রোগ্রাম (অপারেটর দিয়ে এবং ছাড়া)