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

C++ में अभाज्य बिंदु (अंक जो किसी संख्या को दो अभाज्यों में विभाजित करते हैं)

इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा काम संख्या के सभी अभाज्य बिंदुओं को प्रिंट करना है अन्यथा यदि कोई अभाज्य बिंदु नहीं है तो -1 प्रिंट करें।

प्रमुख बिंदु वे सूचकांक मान हैं जो संख्या को दो अभाज्य संख्याओं में विभाजित करते हैं, एक बाईं ओर और दूसरी दाईं ओर।

आइए समस्या को समझने के लिए एक उदाहरण लेते हैं

Input: 2359
Output: 1

स्पष्टीकरण :इंडेक्स 1 पर संख्या को विभाजित करने पर हमें 2 और 59 दो अभाज्य संख्याओं के रूप में प्राप्त होंगे।

इस समस्या को हल करने के लिए, हम जांच करेंगे कि संख्या के लिए बाएं-दाएं विभाजन संभव हैं या नहीं। यदि यह मान्य है, तो हम उन सभी संख्याओं के संयोजन का प्रयास करेंगे जो उत्पन्न हो सकते हैं और जांचेंगे कि वे अभाज्य हैं या नहीं। अगर वे प्राइम हैं, तो इंडेक्स प्रिंट करें।

नीचे दिया गया कोड हमारे समाधान के कार्यान्वयन को दर्शाता है

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int countDigits(int n) {
   int count = 0;
   while (n > 0){
      count++;
      n = n/10;
   }
   return count;
}
int checkPrime(int n) {
   if (n <= 1)
      return -1;
   if (n <= 3)
      return 0;
   if (n%2 == 0 || n%3 == 0)
      return -1;
   for (int i=5; i*i<=n; i=i+6)
      if (n%i == 0 || n%(i+2) == 0)
         return -1;
   return 0;
}
void primePoints(int n) {
   int count = countDigits(n);
   if (count==1 || count==2){
      cout << "-1";
      return;
   }
   bool found = false;
   for (int i=1; i<(count-1); i++){
      int left = n / ((int)pow(10,count-i));
      int right = n % ((int)pow(10,count-i-1));
      if (checkPrime(left) == 0 && checkPrime(right) == 0){
         cout<<i<<"\t";
         found = true;
      }
   }
   if (found == false)
   cout << "-1";
}
int main() {
   int N = 2359;
   cout<<"All prime divisions of number "<<N<<" are :\n";
   primePoints(N);
   return 0;
}

आउटपुट

All prime divisions of number 2359 are :
1

  1. C++ में अंकगणित संख्या

    अंकगणितीय संख्या एक ऐसी संख्या है जिसमें सभी धनात्मक भाजक का औसत एक पूर्णांक होता है अर्थात संख्या n के लिए यदि भाजक की संख्या भाजक के योग को विभाजित कर सकती है तो n एक अंकगणितीय संख्या है। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं, Input : n = 6 Output : YES Explanation : Divisor

  1. C++ प्रोग्राम ग्राफ़ में आर्टिक्यूलेशन पॉइंट्स की संख्या ज्ञात करने के लिए

    ग्राफ़ में आर्टिक्यूलेशन पॉइंट (या कट वर्टिस) एक बिंदु है यदि इसे हटा दिया जाता है (और इसके माध्यम से किनारों) ग्राफ़ को डिस्कनेक्ट करता है। डिस्कनेक्ट किए गए अप्रत्यक्ष ग्राफ़ के लिए एक अभिव्यक्ति बिंदु, एक शीर्ष हटाने वाला है जो कनेक्टेड घटकों की संख्या को बढ़ाता है। एल्गोरिदम Begin    W

  1. C++ में CHAR_BIT

    CHAR_BIT चार में बिट्स की संख्या है। इसे C++ भाषा में “limits.h” हेडर फाइल में घोषित किया गया है। यह 8-बिट प्रति बाइट का होता है। यहाँ C++ भाषा में CHAR_BIT का एक उदाहरण दिया गया है, उदाहरण #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a