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

C++ में दिए गए नंबर से कम या उसके बराबर सबसे बड़ा स्पेशल प्राइम खोजें

मान लीजिए कि हमारे पास एक संख्या n है। हमें सबसे बड़ा विशेष अभाज्य ज्ञात करना है जो N से कम या उसके बराबर है। विशेष अभाज्य एक संख्या है, जिसे एक के बाद एक अंक रखकर बनाया जा सकता है, इसलिए सभी परिणामी संख्याएँ अभाज्य होती हैं।

यहां हम Sieve Of Eratosthenes का उपयोग करेंगे। हम n संख्या तक चलनी सरणी बनाएंगे। फिर संख्या एन से पुनरावृत्त रूप से वापस शुरू करें, यह जांच कर कि संख्या प्रमुख है या नहीं। जब यह प्राइम हो, तो देखें कि यह स्पेशल प्राइम है या नहीं।

उदाहरण

#include<iostream>
using namespace std;
bool isSpecialPrime(bool sieve[], int num) {
   while (num) {
      if (!sieve[num]) {
         return false;
      }
      num /= 10;
   }
   return true;
}
void findSpecialPrime(int N) {
   bool sieve[N + 10];
   for(int i = 0; i<N+10; i++){
      sieve[i] = true;
   }
   sieve[0] = sieve[1] = false;
   for (long long i = 2; i <= N; i++) {
      if (sieve[i]) {
         for (long long j = i * i; j <= N; j += i) {
            sieve[j] = false;
         }
      }
   }
   while (true) {
      if (isSpecialPrime(sieve, N)) {
         cout << N << '\n';
         break;
      }
      else
         N--;
   }
}
int main() {
   cout << "Special prime in range (2 -> 400): ";
   findSpecialPrime(400);
   cout << "Special prime in range (2 -> 100): ";
   findSpecialPrime(100);
}

आउटपुट

Special prime in range (2 -> 400): 379
Special prime in range (2 -> 100): 79

  1. C++ में दी गई संख्या से बड़ा अगला पूर्ण वर्ग ज्ञात कीजिए

    मान लीजिए कि हमारे पास एक संख्या n है। हमारा कार्य n की अगली पूर्ण वर्ग संख्या ज्ञात करना है। अतः यदि संख्या n =1000 है, तो अगली पूर्ण वर्ग संख्या 1024 =322 है। इसे हल करने के लिए, हमें दी गई संख्या n का वर्गमूल प्राप्त होता है, फिर उसका तल लें, उसके बाद (floor value + 1) का वर्ग प्रदर्शित करें उदा

  1. C++ का प्रयोग करके किसी संख्या का सबसे बड़ा अभाज्य गुणनखण्ड ज्ञात कीजिए।

    मान लीजिए कि हमारे पास एक तत्व x है, हमें x का सबसे बड़ा अभाज्य गुणनखण्ड ज्ञात करना है। यदि x का मान 6 है, तो सबसे बड़ा अभाज्य गुणनखंड 3 है। इस समस्या को हल करने के लिए, हम केवल संख्या को भाजक से विभाजित करके संख्या का गुणनखंड करेंगे और अधिकतम अभाज्य गुणनखंड का ट्रैक रखेंगे। उदाहरण #include <iost

  1. C++ में n से कम या उसके बराबर सभी भाज्य संख्याएँ ज्ञात कीजिए

    यहां हम देखेंगे कि n से कम या उसके बराबर सभी भाज्य संख्याओं को कैसे मुद्रित किया जाता है, एक संख्या N को भाज्य संख्या कहा जाता है यदि यह एक धनात्मक संख्या का भाज्य है। तो कुछ भाज्य संख्याएं 1, 2, 6, 24, 120 हैं। फैक्टोरियल नंबर प्रिंट करने के लिए, हमें सीधे फैक्टोरियल खोजने की जरूरत नहीं है। I =1 स