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

C++ में अभाज्य अंकों वाली सबसे बड़ी संख्या

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो n से कम अभाज्य अंकों वाली सबसे बड़ी संख्या को ढूँढता है।

आइए समस्या को हल करने के लिए चरणों को देखें।

  • एक लूप लिखें जो 0 से n तक पुनरावृत्त हो।
    • यदि वर्तमान अंक अभाज्य नहीं है।
      • जबकि अंक 2 से कम है, i मान घटाएं। यदि i मान ऋणात्मक है, तो इसे 0 करें।
      • अगले सबसे छोटे अभाज्य अंकों के साथ मौजूदा इंडेक्स वैल्यू को अपडेट करें।
      • अगले सूचकांक से, प्रत्येक अंक को 7 कर दें।
  • वापसी एन.

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
bool isPrime(char c) {
   return c == '2' || c == '3' || c == '5' || c == '7';
}
void decrease(string& n, int i) {
   if (n[i] <= '2') {
      n.erase(i, 1);
      n[i] = '7';
   }else if (n[i] == '3') {
      n[i] = '2';
   }else if (n[i] <= '5') {
      n[i] = '3';
   }else if (n[i] <= '7') {
      n[i] = '5';
   }else {
      n[i] = '7';
   }
   return;
}
string getPrimeDigitsNumber(string n) {
   for (int i = 0; i < n.length(); i++) {
      if (!isPrime(n[i])) {
         while (n[i] <= '2' && i >= 0) {
            i--;
         }
         if (i < 0) {
            i = 0;
         }
         decrease(n, i);
         for (int j = i + 1; j < n.length(); j++) {
            n[j] = '7';
         }
         break;
      }
   }
   return n;
}
int main() {
   string n = "7464";
   cout << getPrimeDigitsNumber(n) << endl;
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

7377

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. सी ++ में मेर्सन प्राइम नंबर।

    विवरण गणित में, मेर्सन प्राइम एक अभाज्य संख्या है जो दो की शक्ति से एक कम है। अर्थात्, यह किसी पूर्णांक n के लिए Mn =2n - 1 के रूप की एक अभाज्य संख्या है। इनपुट धनात्मक पूर्णांक n से छोटे सभी Mersenne Primes को प्रिंट करने के लिए एक C++ प्रोग्राम लिखें। घातांक n जो Mersenne primes देते हैं वे 2,

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

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

  1. जाँच करें कि C++ में कोई संख्या पूर्ण प्रधान है या नहीं

    यहां हम देखेंगे कि कैसे जांचा जाता है कि कोई संख्या पूर्ण अभाज्य है या नहीं। एक संख्या को पूर्ण अभाज्य कहा जाता है, यदि वह अभाज्य है, और उसके सभी अंक भी अभाज्य हैं। मान लीजिए एक संख्या 37 है, यह पूर्ण अभाज्य है। लेकिन 97 पूर्ण अभाज्य नहीं है क्योंकि 9 एक अभाज्य संख्या नहीं है। एक कुशल तरीका यह है क