Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में N'th स्मार्ट नंबर

एक स्मार्ट नंबर एक संख्या है जिसमें कम से कम तीन अलग-अलग प्रमुख कारक होते हैं। आपको एक नंबर N दिया गया है। n-th स्मार्ट नंबर खोजें।

स्मार्ट नंबर सीरीज हैं

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

एल्गोरिदम

  • नंबर को इनिशियलाइज़ करें।
  • गिनती को 0 से प्रारंभ करें।
  • एक फ़ंक्शन लिखें जो यह जांचता है कि दी गई संख्या अभाज्य है या नहीं।
  • एक फ़ंक्शन लिखें जो यह जांचता है कि नंबर स्मार्ट है या नहीं।
  • ऐसा लूप लिखें जो 30 से पुनरावृत्त हो क्योंकि पहला स्मार्ट नंबर 30 है।
    • जांचें कि वर्तमान नंबर स्मार्ट नंबर है या अभाज्य संख्या फ़ंक्शन का उपयोग नहीं कर रहा है।
    • स्मार्ट नंबर मिलने पर गिनती 1 से बढ़ाएं।
    • स्मार्ट नंबर लौटाएं जब आप गिनती एन के बराबर हो।

कार्यान्वयन

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++ में मितव्ययी संख्या

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया जाता है। हमारा कार्य यह जाँचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या - एक संख्या जिसके अंकों की संख्या दी गई संख्या के अभाज्य गुणनखंड में अंकों की संख्या से अधिक है। उदाहरण − 625, संख्या 625 का अभाज्

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की

  1. C++ में एडम नंबर

    इस खंड में हम देखेंगे कि एक प्रोग्राम कैसे लिखा जाता है जो यह जांच सकता है कि दी गई संख्या एडम नंबर है या नहीं। कोड में गोता लगाने से पहले आइए देखें कि एडम नंबर क्या है? आदम संख्या एक संख्या है मान लीजिए n, तो यदि n का वर्ग और n के विपरीत का वर्ग एक-दूसरे के विपरीत हों, तो वह संख्या आदम संख्या होती