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

C++-এ একটি সংখ্যা আনসুয়াল (Unusual) নম্বর কিনা চেক করা

এখানে আমরা দেখব একটি সংখ্যা আনসুয়াল (Unusual) নম্বর কিনা। একটি সংখ্যাকে আনসুয়াল বলা হয় যদি তার সর্বোচ্চ প্রাইম ফ্যাক্টর স্ট্রিক্টলি এর বর্গমূল থেকে বড় হয়। কিছু আনসুয়াল নম্বর: 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19, 20, 21, 22, 23, 26, 28, 29, 31, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44, 46।

এটি সমাধান করতে আমরা সর্বোচ্চ প্রাইম ফ্যাক্টর বের করার চেষ্টা করব, তারপর চেক করব ফ্যাক্টরটি সংখ্যার বর্গমূল থেকে বড় কিনা। যদি হয়, তবে সংখ্যাটি আনসুয়াল, অন্যথায় নয়।

উদাহরণ কোড

#include <iostream>
#include <cmath>
using namespace std;

int largestPrimeFactor(int num) {
    int max_prime = -1;
    while (num % 2 == 0) { // সংখ্যা থেকে সব ২ বাদ দিন
        max_prime = 2;
        num >>= 1;
    }
    for (int i = 3; i <= sqrt(num); i += 2) {
        while (num % i == 0) {
            max_prime = i;
            num = num / i;
        }
    }
    if (num > 2)
        max_prime = num;
    return max_prime;
}

bool isUnusual(int num) {
    int largePrimeFactor = largestPrimeFactor(num);
    if (largePrimeFactor > sqrt(num)) {
        return true;
    } else {
        return false;
    }
}

int main() {
    int n = 14;
    if (isUnusual(n)) {
        cout << n << " is an unusual number";
    } else {
        cout << n << " is not an unusual number";
    }
    return 0;
}

আউটপুট

14 is an unusual number
  1. C++ প্রোগ্রাম: বড় সংখ্যা ৩ দিয়ে বিভাজ্য কিনা চেক (স্ট্রিং ইনপুট)

  2. C++ প্রোগ্রাম: বড় সংখ্যা ২৫ দিয়ে বিভাজ্য কিনা চেক (স্ট্রিং ইনপুট)

  3. C++ প্রোগ্রাম: বড় সংখ্যা ১১ দিয়ে বিভাজ্য কিনা চেক (স্ট্রিং ইনপুট)

  4. প্যালিনড্রোম (Palindrome) নম্বর চেক করার C++ প্রোগ্রাম