কম্পিউটার

C++ এ এর ​​থেকে কম সংখ্যার সমস্ত প্রাইম কোয়াড্রুপ্লেট প্রিন্ট করুন


এই সমস্যায়, আমাদেরকে একটি ধনাত্মক পূর্ণসংখ্যা দেওয়া হয়েছে, এবং আমাদেরকে n-এর থেকে কম বা সমান অলপ্রাইম চতুষ্পদ প্রিন্ট করতে হবে৷

প্রধান চতুষ্পদ চারটি মৌলিক সংখ্যার সেট হল {p, p +2 হিসাবে গণনা করা ,p +6 , p +8 } উদাহরণ − 5 7 11 13।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক -

Input: N = 15
Output: 5 7 11 13.

এই সমস্যাটি সমাধান করার জন্য, একটি সহজ পদ্ধতি হল প্রাইম সংখ্যা p এর সমস্ত চতুর্ভুজ তৈরি করা এবং সমস্ত p, p +2 কিনা তা পরীক্ষা করা। , p +6 , p +8 মৌলিক সংখ্যা। এই সমাধানটি সহজ কিন্তু কম্পাইলারের জন্য আরও জটিল৷

আরেকটি কার্যকরী পদ্ধতি হল সমস্ত মৌলিক সংখ্যা পছন্দ করা (এরাটোসথেনিসের চালনি ব্যবহার করে) এবং একটি নির্দিষ্ট পরিসর পর্যন্ত একটি অ্যারেতে সংরক্ষণ করা। এবং অ্যারে অতিক্রম করুন এবং p, p +2 চেক করুন , p +6 , p +8 প্রাইম কি না এবং প্রিন্ট যদি সবগুলো প্রাইম হয়।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
#define MAX 100000
bool prime[MAX];
void primeNumberGenerator() {
   memset(prime, true, sizeof(prime));
   for (int p = 2; p * p < MAX; p++) {
      if (prime[p] == true) {
         for (int i = p * 2; i < MAX; i += p)
            prime[i] = false;
      }
   }
}
void printPrimeQuadruplet(int n) {
   for (int i = 0; i < n - 7; i++) {
      if (prime[i] && prime[i + 2] && prime[i + 6] && prime[i + 8]) {
         cout<<i<<" "<<i+2<<" "<<i+6<<" "<<i+8<<endl;
      }
   }
}
int main() {
   primeNumberGenerator();
   int n = 42;
   cout<<"All prime Quadruplets are :\n";
   printPrimeQuadruplet(20);
   return 0;
}

আউটপুট

সমস্ত মৌলিক চতুর্ভুজ হল −

5 7 11 13
11 13 17 19

  1. C++ এ একটি মিন হিপে x মানের চেয়ে কম সব নোড প্রিন্ট করুন

  2. C++ এ Y এর চেয়ে কম সংখ্যা সহ সেটের ন্যূনতম সংখ্যা

  3. C++ এ n এর থেকে কম বা সমান সমস্ত ফ্যাক্টরিয়াল সংখ্যা খুঁজুন

  4. একটি সংখ্যা C++ এ অন্য সংখ্যার সমস্ত মৌলিক ভাজক দ্বারা বিভাজ্য কিনা তা পরীক্ষা করুন