কম্পিউটার

C++-এ নবম স্মার্ট নম্বর


একটি স্মার্ট সংখ্যা হল এমন একটি সংখ্যা যাতে অন্তত তিনটি স্বতন্ত্র মৌলিক উপাদান থাকে। আপনাকে একটি নম্বর দেওয়া হয়েছে। n-তম স্মার্ট নম্বরটি খুঁজুন।

স্মার্ট নম্বর সিরিজ হল

30, 42, 60, 66, 70, 78...

অ্যালগরিদম

  • সংখ্যা N শুরু করুন।
  • গণনাটি ০-তে শুরু করুন।
  • প্রদত্ত সংখ্যাটি মৌলিক কিনা তা পরীক্ষা করে এমন একটি ফাংশন লিখুন।
  • নম্বরটি স্মার্ট কি না তা পরীক্ষা করে এমন একটি ফাংশন লিখুন৷
  • একটি লুপ লিখুন যা 30 থেকে পুনরাবৃত্তি করে যেমন প্রথম স্মার্ট সংখ্যা 30।
    • প্রধান সংখ্যা ফাংশন ব্যবহার করে বর্তমান সংখ্যাটি স্মার্ট নম্বর কিনা তা পরীক্ষা করুন।
    • যখন আপনি একটি স্মার্ট নম্বর খুঁজে পান তখন গণনা 1 দ্বারা বৃদ্ধি করুন।
    • যখন আপনি N এর সমান গণনা করবেন তখন স্মার্ট নম্বরটি ফেরত দিন।

বাস্তবায়ন

C++

-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
   if (n < 2) return false;
   for (int i = 2; i <= sqrt(n); i++) {
      if (n % i == 0) return false;
   }
   return true;
}
bool isSmartNumber(int n) {
   int count = 0;
   for (int i = 2; i < n; i++) {
      if (n % i == 0 && isPrime(i)) {
         count += 1;
      }
      if (count == 3) {
         return true;
      }
   }
return false;
}
int getNthSmartNumber(int n) {
   int i = 30, count = 0;
   while (true) {
      if (isSmartNumber(i)) {
         count += 1;
      }
      if (count == n) {
         return i;
      }
      i += 1;
   }
}
int main() {
   int N = 25;
   cout << getNthSmartNumber(N) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

174

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

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

  3. C++ এ ছিটমহলের সংখ্যা

  4. C++ এ অ্যাডাম নম্বর