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

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

एक समस्या पर चर्चा करें जहाँ हमें एक संख्या N दी गई है, और हमें इस संख्या को अधिकतम अभाज्य संख्याओं के योग में विभाजित करने की आवश्यकता है, उदाहरण के लिए

Input: N = 7
Output: 2 2 3
Explanation: 7 can be represented as the sum of two 2’s and a 3 which are the maximum possible prime numbers.

Input : N = 17
Output: 2 2 2 2 2 2 2 3

समाधान खोजने के लिए दृष्टिकोण

किसी संख्या को अभाज्य संख्याओं में निरूपित करने के लिए, हम एक अभाज्य संख्या को N से घटा सकते हैं और अभाज्य संख्या के अंतर की जाँच कर सकते हैं। यदि अंतर अभाज्य है, तो हम N को दो अभाज्य संख्याओं के योग के रूप में निरूपित कर सकते हैं।

लेकिन यहाँ, हमें अभाज्य संख्याओं की अधिकतम संख्या ज्ञात करनी है, और उसके लिए, हमें न्यूनतम अभाज्य संख्याएँ लेनी चाहिए, अर्थात, 2 और 3। हम 2 और 3 के योग से कोई भी संख्या बना सकते हैं।

  • सम की संख्या की जाँच करें; यदि यह सम है, तो इसे (N/2) 2 के योग से बनाया जा सकता है।

  • इसे एक तीन और [(N-3) / 2 ] 2 के विषम होने पर बनाया जा सकता है।

  • इस तरह, हम अधिकतम संख्या में अभाज्य संख्याओं के योग से N का प्रतिनिधित्व कर सकते हैं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int main(){
   int N = 7;
   // checking if N is odd,
   // If yes, then print 3
   // and subtract 3 from N.
   if (N & 1 == 1) {
      cout << "3 +";
      N -= 3;
   }
   // // keep subtracting and printing 2
   // until N is becomes 0.
   while (N!=2) {
      cout << " 2 +";
      N -= 2;
   }
   cout << " 2";
   return 0;
}

आउटपुट

3 + 2 + 2

निष्कर्ष

इस ट्यूटोरियल में, हमने एक संख्या को अभाज्य संख्याओं की अधिकतम संख्या के योग के रूप में निरूपित करने पर चर्चा की। हमने संख्याओं को 2 और 3 के योग के रूप में प्रस्तुत करके इस समस्या को हल करने के लिए एक सरल दृष्टिकोण पर चर्चा की। हमने इस समस्या के लिए C++ प्रोग्राम पर भी चर्चा की जिसे हम प्रोग्रामिंग भाषाओं जैसे C, Java, Python, आदि के साथ कर सकते हैं। हमें उम्मीद है कि आपको यह ट्यूटोरियल मददगार लगेगा।


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

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

  1. C++ में सिंगल लिंक्ड लिस्ट के न्यूनतम और अधिकतम प्राइम नंबर।

    समस्या कथन n धनात्मक पूर्णांकों की लिंक की गई सूची को देखते हुए। हमें न्यूनतम और अधिकतम मान वाली अभाज्य संख्या ज्ञात करनी है। यदि दी गई सूची है - 10 -> 4 -> 1 -> 12 -> 13 -> 7 -> 6 -> 2 -> 27 -> 33 then minimum prime number is 2 and maximum prime number is 13 एल्गोरिदम 1

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

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