কম্পিউটার

সবচেয়ে বড় বিশেষ প্রাইম খুঁজুন যা C++ এ প্রদত্ত সংখ্যার কম বা সমান


ধরুন আমাদের একটি সংখ্যা n আছে। আমাদের সবচেয়ে বড় স্পেশাল প্রাইম খুঁজে বের করতে হবে যা N এর থেকে কম বা সমান। বিশেষ প্রাইম হল একটি সংখ্যা, যা একের পর এক ডিজিট বসিয়ে তৈরি করা যেতে পারে, তাই ফলাফলের সব সংখ্যাই মৌলিক।

এখানে আমরা Eratosthenes এর চালনি ব্যবহার করব। আমরা n সংখ্যা পর্যন্ত চালুনি অ্যারে তৈরি করব। তারপর সংখ্যাটি মৌলিক কিনা তা পরীক্ষা করে N সংখ্যা থেকে পুনরাবৃত্তিমূলকভাবে শুরু করুন। যখন এটি প্রাইম হয়, এটি বিশেষ প্রাইম কিনা তা পরীক্ষা করুন৷

উদাহরণ

#include<iostream>
using namespace std;
bool isSpecialPrime(bool sieve[], int num) {
   while (num) {
      if (!sieve[num]) {
         return false;
      }
      num /= 10;
   }
   return true;
}
void findSpecialPrime(int N) {
   bool sieve[N + 10];
   for(int i = 0; i<N+10; i++){
      sieve[i] = true;
   }
   sieve[0] = sieve[1] = false;
   for (long long i = 2; i <= N; i++) {
      if (sieve[i]) {
         for (long long j = i * i; j <= N; j += i) {
            sieve[j] = false;
         }
      }
   }
   while (true) {
      if (isSpecialPrime(sieve, N)) {
         cout << N << '\n';
         break;
      }
      else
         N--;
   }
}
int main() {
   cout << "Special prime in range (2 -> 400): ";
   findSpecialPrime(400);
   cout << "Special prime in range (2 -> 100): ";
   findSpecialPrime(100);
}

আউটপুট

Special prime in range (2 -> 400): 379
Special prime in range (2 -> 100): 79

  1. সর্বাধিক সংখ্যক উপাদান খুঁজুন যেমন তাদের পরম পার্থক্য C++ এ 1 এর কম বা সমান

  2. C++ এ প্রদত্ত সংখ্যার চেয়ে বড় পরবর্তী নিখুঁত বর্গ খুঁজুন

  3. C++ ব্যবহার করে একটি সংখ্যার বৃহত্তম মৌলিক গুণনীয়ক খুঁজুন।

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