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

C++ में एक विषम संख्या को अभाज्य संख्याओं के योग के रूप में व्यक्त करें

इस समस्या में, हमें एक विषम संख्या N दी जाती है। हमारा कार्य एक विषम संख्या को अभाज्य संख्याओं के योग के रूप में व्यक्त करना है।

संख्या को व्यक्त करते समय अधिकतम तीन अभाज्य संख्याएँ हो सकती हैं।

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

इनपुट: एन =55

आउटपुट: 53 + 2

समाधान दृष्टिकोण:

विषम संख्या को अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है। इन अभाज्य संख्याओं को ध्यान में रखते हुए हमारे पास तीन मामले हैं।

मामला 1: यदि n एक अभाज्य संख्या है, तो इसे एक अभाज्य संख्या के योग के रूप में दर्शाया जाता है n .
मामला 2: यदि (n - 2) एक अभाज्य संख्या है, तो इसे दो अभाज्य संख्याओं के योग के रूप में दर्शाया जाता है n-2 और 2

केस 3: ( n - 3 ) एक सम संख्या है जिसे गोल्डबैक की अनुमान पद्धति का उपयोग करके दो अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है जिसमें हम जाँच करेंगे कि क्या कोई संख्या A अभाज्य है और संख्या {(n-3) - A } भी अभाज्य है तो इसे प्रिंट करें।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;

bool isPrime(int x)
{
   if (x == 0 || x == 1)
      return false;
   for (int i = 2; i * i <= x; ++i)
      if (x % i == 0)
         return false;  
   return true;
}

void primeAsSumofPrime(int n) {
   
   if (isPrime(n) )
      cout<<n;
   else if (isPrime(n - 2))
      cout<<"2 "<<"+ "<<(n - 2);
   else{
      cout<<"3 "<<"+ ";
      n -= 3;
      for (int i = 0; i < n; i++) {
         if (isPrime(i) && isPrime(n - i)) {
            cout<<i<<" + "<<(n - i);
            break;
         }
      }
   }
}

int main() {
   
   int n = 561;
   cout<<"The number "<<n<<" expressed as sum of primes is ";
   primeAsSumofPrime(n);
   return 0;
}

आउटपुट -

The number 561 expressed as sum of primes is 3 + 11 + 547

  1. सी++ में डुडेनी नंबर्स

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या (विकिपीडिया)। नंबर हेनरी डुडेनी . द्वारा खोजा गया था . इसका गणितीय सूत्र है - यहाँ, हमें एक पूर्णांक n दिया गया है। हमारा काम जांच करना है कि दिया गया नंबर n एक डुडनी नंबर है या नहीं। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: एन =17592 आ

  1. जांचें कि क्या किसी संख्या को C++ में 2 त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है

    इस भाग में हम देखेंगे कि क्या हम एक संख्या को दो त्रिभुजाकार संख्याओं के योग के रूप में व्यक्त कर सकते हैं या नहीं। त्रिकोणीय संख्याएं नीचे की तरह हैं - उदाहरण से हम देख सकते हैं कि 1, 3, 6, 10 कुछ त्रिभुजाकार संख्याएँ हैं। हमें एक संख्या N (मान लीजिए 16) को दो त्रिभुजाकार संख्याओं (6, 10) के योग

  1. C++ प्रोग्राम यह जांचने के लिए कि क्या किसी संख्या को दो अभाज्य संख्याओं के योग के रूप में व्यक्त किया जा सकता है

    यह जांचने के लिए एक उदाहरण निम्नलिखित है कि क्या किसी संख्या को दो अभाज्य संख्याओं के योग के रूप में व्यक्त किया जा सकता है। उदाहरण #include <iostream> using namespace std; int func(int num) {    int i;    int flag = 1;    for(i = 2; i <= num/2; ++i) {   &