কম্পিউটার

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


ভারসাম্যপূর্ণ প্রাইম সংখ্যা হল একটি মৌলিক সংখ্যা যার পূর্ববর্তী এবং পরবর্তী মৌলিক সংখ্যার জন্য একই পার্থক্য রয়েছে। অর্থাৎ এটি নিকটতম পরবর্তী প্রাইম এবং পূর্ববর্তী প্রাইম এর গড়।

একটি মৌলিক সংখ্যা একটি সুষম মৌলিক হওয়ার জন্য, এটি নিম্নলিখিত সূত্র অনুসরণ করা উচিত −

Pn =(P(n-1) + P(n+1)) / 2

যেখানে n একটি মৌলিক সংখ্যার ক্রমানুসারে pn মৌলিক সংখ্যার সূচক।

মৌলিক সংখ্যার ক্রমকৃত সেট:2, 3, 5, 7, 11, 13,….

প্রথমত, সুষম প্রাইমগুলি হল 5, 53, 157, 173 , …

এই সমস্যায়, আমাদের একটি সংখ্যা n দেওয়া হয়েছে এবং আমাদের একটি nম সুষম মৌলিক সংখ্যা খুঁজে বের করতে হবে।

একটি উদাহরণ নেওয়া যাক,

Input : n = 3
Output : 157

এর জন্য মৌলিক সংখ্যা তৈরি করবে এবং এটি একটি অ্যারেতে সংরক্ষণ করবে। মৌলিক সংখ্যাটি একটি সুষম মৌলিক কি না তা আমরা খুঁজে পাব। যদি এটি গণনা বৃদ্ধি করে এবং যদি গণনা n এর সমান হয় তবে এটি প্রিন্ট করুন।

উদাহরণ

#include<bits/stdc++.h>
#define MAX 501
using namespace std;
int balancedprimenumber(int n){
   bool prime[MAX+1];
   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;
      }
   }
   vector<int> v;
   for (int p = 3; p <= MAX; p += 2)
   if (prime[p])
   v.push_back(p);
   int count = 0;
   for (int i = 1; i < v.size(); i++){
      if (v[i] == (v[i+1] + v[i - 1])/2)
      count++;
      if (count == n)
      return v[i];
   }
}
int main(){
   int n = 3;
   cout<<balancedprimenumber(n)<<endl;
   return 0;
}

আউটপুট

157

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

  2. প্রতিস্থাপন সহ C++ ভারসাম্যপূর্ণ অভিব্যক্তি

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

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