কম্পিউটার

একটি নম্বর একটি অস্বাভাবিক নম্বর কিনা তা পরীক্ষা করুন C++ এ


এখানে আমরা দেখব একটি সংখ্যা অস্বাভাবিক সংখ্যা কি না। একটি সংখ্যাকে অস্বাভাবিক বলা হয় যদি সংখ্যাটির সর্বশ্রেষ্ঠ মৌলিক গুণনীয়কটি সংখ্যাটির বর্গমূলের চেয়ে কঠোরভাবে বড় হয়। কিছু অস্বাভাবিক সংখ্যা হল: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) { //remove all 2s from the number
      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";
   }
}

আউটপুট

14 is an unusual number

  1. একটি বড় সংখ্যা 3 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  2. একটি বড় সংখ্যা 25 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  3. একটি বড় সংখ্যা 11 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  4. একটি নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম