কম্পিউটার

C++ এ Pierpont Prime


এই সমস্যায়, আমরা একটি সংখ্যা n দেওয়া হয়. আমাদের কাজ হল সমস্ত Pierpont মৌলিক সংখ্যা প্রিন্ট করা n এর চেয়ে কম।

পিয়ারপন্ট প্রাইম সংখ্যা হল একটি বিশেষ ধরনের মৌলিক সংখ্যা যা ফর্মের,

p=2 i . 3 k + 1.

যেখানে p একটি মৌলিক সংখ্যা, এবং i এবং k কিছু পূর্ণসংখ্যা।

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

ইনপুট − n =50

আউটপুট − 2, 3, 5, 7, 13, 17, 19, 37

এই সমস্যা সমাধানের জন্য, আমাদের শর্ত অনুসরণ করে এমন সমস্ত মৌলিক সংখ্যা খুঁজে বের করতে হবে। এর জন্য, আমরা 2 এবং 3 এর ঘাতের গুণনীয়ক সহ একটি সংখ্যা খুঁজে পাব। এবং সমস্ত মৌলিক সংখ্যা খুঁজে বের করব। এবং সেই সংখ্যাগুলি প্রিন্ট করুন যেগুলি উভয়ই, একটি মৌলিক সংখ্যা যা শর্ত অনুসরণ করে৷

উদাহরণ

আমাদের সমাধানের বাস্তবায়ন দেখানোর জন্য প্রোগ্রাম,

#include <bits/stdc++.h>
using namespace std;
void printPierpontPrimes(int n){
   bool arr[n+1];
   memset(arr, false, sizeof arr);
   int two = 1, three = 1;
   while (two + 1 < n) {
      arr[two] = true;
      while (two * three + 1 < n) {
         arr[three] = true;
         arr[two * three] = true;
         three *= 3;
      }
      three = 1;
      two *= 2;
   }
   vector<int> primes;
   for (int i = 0; i < n; i++)
   if (arr[i])
      primes.push_back(i + 1);
   memset(arr, false, sizeof arr);
   for (int p = 2; p * p < n; p++) {
      if (arr[p] == false)
         for (int i = p * 2; i< n; i += p)
            arr[i] = true;
   }
   for (int i = 0; i < primes.size(); i++)
      if (!arr[primes[i]])
      cout<<primes[i]<<"\t";
}
int main(){
   int n = 50;
   cout<<"All Pierpont Prime Numbers less than "<<n<<" are :\n";
   printPierpontPrimes(n);
   return 0;
}

আউটপুট

All Pierpont Prime Numbers less than 50 are :
2    3    5    7    13    17    19    37

  1. C++ এ প্রাইম ট্রিপলেট

  2. C++ এ Mersenne প্রাইম নম্বর।

  3. C++ এ ব্যালেন্সড প্রাইম

  4. একটি সংখ্যা C++ এ ফুল প্রাইম কিনা তা পরীক্ষা করুন