কম্পিউটার

C++ এ এমেরপ সংখ্যা


ইমারপ সংখ্যা হল একটি বিশেষ ধরনের সংখ্যা যা একটি মৌলিক সংখ্যা যার অঙ্কগুলি বিপরীত হলে আরেকটি মৌলিক সংখ্যা তৈরি হয় (এই মৌলিক সংখ্যাটি আসল সংখ্যা থেকে আলাদা)।

এমির্প হল প্রাইমের বিপরীত।

কিছু মৌলিক সংখ্যা যা emirp নয় সেগুলি হল প্যালিন্ড্রোমিক প্রাইম এবং সিঙ্গেল ডিজিটের মৌলিক সংখ্যা।

কিছু ​​Emirp সংখ্যা হল 13, 17, 37, 733৷

n-এর চেয়ে কম সমস্ত এমআরপি সংখ্যা প্রিন্ট করার প্রোগ্রাম।

এখানে, আমাদের একটি সংখ্যা n দেওয়া হয়েছে, এবং আমাদের সমস্ত emirp সংখ্যা প্রিন্ট করতে হবে n এর থেকে কম বা সমান।

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

ইনপুট: n =40

আউটপুট: 13, 17, 31, 37

সমাধান পদ্ধতি

প্রদত্ত সংখ্যার চেয়ে কম সমস্ত এমেরপ সংখ্যা খুঁজে বের করার জন্য, আমাদের n এর চেয়ে কম সমস্ত মৌলিক সংখ্যা খুঁজে বের করতে হবে এবং তারপরে পরীক্ষা করে দেখতে হবে যে সংখ্যাগুলিকে উল্টে দিয়ে গঠিত সংখ্যাটি তার একটি এমেরপ সংখ্যার চেয়ে মৌলিক সংখ্যা কিনা, এটি প্রিন্ট করুন।

n পর্যন্ত মৌলিক সংখ্যা খুঁজে বের করার জন্য এবং তারপরে এর বিপরীত অঙ্কগুলি পুনরায় পরীক্ষা করার জন্য, সর্বোত্তম পদ্ধতি হল Eratosthenes এর চালনি ব্যবহার করা।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int reverseDigits(int x) {

   int digitRev = 0;
   while (x > 0)
   {
      digitRev = (digitRev*10) + x%10;
      x = x/10;
   }
   return digitRev;
}

void findAllEmirpNumber(int n) {

   bool primeNo[10001];
   memset(primeNo, true, sizeof(primeNo));

   for (int p=2; p*p<=10001; p++)
   {
      if (primeNo[p] == true)
      {
         for (int i=p*2; i<=10001; i += p)
            primeNo[i] = false;
      }
   }
   for (int p=2; p<=n; p++)
   {
      if (primeNo[p])
      {
         int revNo = reverseDigits(p);
         if (p != revNo && primeNo[revNo]) {
         cout<<p<<"\t";
         if(revNo <= n)
          cout<<revNo<<"\t";
         primeNo[revNo] = false;
         }
      }
   }
}

int main()
{
   int n = 40;
   cout<<"All Emirp numbers less than or equal to "<<n<<" are\n";
   findAllEmirpNumber(n);
   return 0;
}

আউটপুট

All Emirp numbers less than or equal to 40 are 13 31 17 37

  1. C++ এ মিতব্যয়ী নম্বর

  2. C++ পেন্টাটোপ নম্বর

  3. সি++ এ ডুডেনি নম্বর

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