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

সি++-এ N-এর চেয়ে বড় K-তম মৌলিক সংখ্যা (Prime Number) বের করা

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা প্রদত্ত সংখ্যা n-এর চেয়ে বড় K-তম মৌলিক সংখ্যা বের করবে।

সমস্যা সমাধানের ধাপসমূহ

  • সংখ্যা n ইনিশিয়ালাইজ করুন।
  • ১০৬ পর্যন্ত সব মৌলিক সংখ্যা বের করে একটি বুলিয়ান অ্যারেতে সংরক্ষণ করুন।
  • n+1 থেকে ১০৬ পর্যন্ত একটি লুপ চালান।
    • যদি বর্তমান সংখ্যা মৌলিক হয়, তবে k ডিক্রিমেন্ট করুন।
    • যদি k শূন্য হয়, তবে i রিটার্ন করুন।
  • -1 রিটার্ন করুন।

উদাহরণ কোড

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

const int MAX_SIZE = 1e6;
bool prime[MAX_SIZE + 1];

void findAllPrimes() {
    memset(prime, true, sizeof(prime));
    for (int p = 2; p * p <= MAX_SIZE; p++) {
        if (prime[p]) {
            for (int i = p * p; i <= MAX_SIZE; i += p) {
                prime[i] = false;
            }
        }
    }
}

int findKthPrimeGreaterThanN(int n, int k) {
    for (int i = n + 1; i < MAX_SIZE; i++) {
        if (prime[i]) {
            k--;
        }
        if (k == 0) {
            return i;
        }
    }
    return -1;
}

int main() {
    findAllPrimes();
    int n = 5, k = 23;
    cout << findKthPrimeGreaterThanN(n, k) << endl;
    return 0;
}

আউটপুট

উপরের কোডটি রান করলে নিচের ফলাফল পাওয়া যাবে:

101

নিষ্কর্ষ

এই টিউটোরিয়াল সম্পর্কে আপনার যেকোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।

  1. C++-এ একটি সংখ্যার প্রাইমোরিয়াল (Primorial)

  2. সংখ্যার চেয়ে ছোট সব প্রাইম কোয়াড্রাপলেট প্রিন্ট করা C++-তে

  3. C++-এ অ্যারিথমেটিক নম্বর

  4. C++-এ CHAR_BIT