কম্পিউটার টিউটোরিয়াল

সি++-এ এমিরপ নম্বর


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

এমিরপ হলো প্রাইমের উল্টা।

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

কিছু এমিরপ নম্বর হলো 13, 17, 37, 733।

n-এর চেয়ে ছোট সব এমিরপ নম্বর প্রিন্ট করার প্রোগ্রাম

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

উদাহরণ দিয়ে বুঝি,

ইনপুট: n = 40

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

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

দেওয়া সংখ্যা থেকে ছোট সব এমিরপ নম্বর বের করতে, প্রথমে n-এর চেয়ে ছোট সব প্রাইম নম্বর বের করতে হবে এবং তারপর চেক করতে হবে এর অঙ্কগুলো উল্টা করলে কি প্রাইম হয়। যদি হয় তবে সেটি এমিরপ নম্বর, প্রিন্ট করুন।

প্রাইম নম্বর n পর্যন্ত বের করে তারপর এর উল্টা অঙ্ক পুনরায় চেক করার জন্য সেরা পদ্ধতি হলো সিভ অফ এরাটোস্থেনিস ব্যবহার করা।

সমাধান minhaj করার প্রোগ্রাম

#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. Frugal সংখ্যা চেক করা (C++)

  2. C++ দিয়ে পেন্টাটপ (Pentatope) সংখ্যা বের করা

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

  4. C++ প্রোগ্রাম: মিস্টেরি নাম্বার (Mystery Number) চেক করা