কম্পিউটার

C++ এ N এর নিচের সব নিরাপদ প্রাইম প্রিন্ট করুন


এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যা N দেওয়া হয়েছে এবং আমাদের সমস্ত নিরাপদ প্রাইম নম্বর প্রিন্ট করতে হবে যার মান N.

এর চেয়ে কম

একটি নিরাপদ মৌলিক সংখ্যা একটি মৌলিক সংখ্যা যা [(2*p)- 1] হিসাবে উপস্থাপন করা যেতে পারে যেখানে p একটি মৌলিক সংখ্যা।

উদাহরণ − 5[(2*2) +1] , 7[(2*3)+1]।

সমস্যাটি আরও ভালোভাবে বোঝার জন্য কিছু উদাহরণ নেওয়া যাক -

Input: N = 12
Output: 5 7 11.

এই সমস্যাটি সমাধান করার জন্য, আমরা N-এর চেয়ে কম সমস্ত মৌলিক সংখ্যা খুঁজে পাব (এর জন্য আমরা Eratosthenes এর Sieve ব্যবহার করব)। এবং মৌলিক সংখ্যাটি একটি নিরাপদ মৌলিক সংখ্যা কিনা তা পরীক্ষা করুন এবং এটি একটি নিরাপদ মৌলিক সংখ্যা কিনা তা প্রিন্ট করুন৷

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void printPrime(int n){
   cout<<n<<"\t";
}
void generateSafePrimes(int n){
   int prime[n + 1];
   for (int i = 2; i <= n; i++)
      prime[i] = 1;
   prime[0] = prime[1] = 0;
   for (int p = 2; p * p <= n; p++) {
      if (prime[p] == 1) {
         for (int i = p * 2; i <= n; i += p)
            prime[i] = 0;
      }
   }
   for (int i = 2; i <= n; i++) {
      if (prime[i] != 0) {
         int temp = (2 * i) + 1;
         if (temp <= n && prime[temp] != 0)
            prime[temp] = 2;
      }
   }
   for (int i = 5; i <= n; i++)
      if (prime[i] == 2)
         printPrime(i);
}
// Driver code
int main(){
   int n = 34;
   cout<<"safe Prime numbers less than "<<n<<" are :\n";
   generateSafePrimes(n);
   return 0;
}

আউটপুট

34 এর কম নিরাপদ প্রাইম সংখ্যা হল −

5 7 11 23

  1. C++ এ একটি বাইনারি ট্রিতে সমস্ত পূর্ণ নোড প্রিন্ট করুন

  2. একটি বাইনারি গাছের সমস্ত অভ্যন্তরীণ নোড C++ এ প্রিন্ট করুন

  3. C++ এ প্রদত্ত নোড থেকে k দূরত্বে সমস্ত নোড প্রিন্ট করুন

  4. C++-এ K পাতা সহ একটি বাইনারি ট্রিতে সমস্ত নোড প্রিন্ট করুন