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

अधिकतम अभाज्य संख्या जिसका योग C++ में दिए गए N के बराबर है


इस समस्या में, हमें एक संख्या n दी गई है। हमारा कार्य उन अभाज्य संख्याओं की अधिकतम संख्या ज्ञात करना है जिनका योग दिए गए N के बराबर है।

यहां, हम अभाज्य संख्याओं की वह अधिकतम संख्या पाएंगे जो जोड़ने पर संख्या के बराबर होगी।

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

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

इनपुट - एन =9

आउटपुट -4

स्पष्टीकरण -

9 can be repressed as the sum of prime numbers in the following ways:
2, 2, 2, 3
3, 3, 3
2, 2, 5
2, 7
Out of these the maximum number of primes used is 4.

उपयोग की जाने वाली अभाज्य संख्याओं की अधिकतम संख्या इस बात पर आधारित होगी कि योग बनाने के लिए कितनी छोटी अभाज्य संख्याओं को जोड़ा जा सकता है।

तो, सबसे छोटी अभाज्य संख्या 2 है। और क्रमागत बड़ी अभाज्य संख्या 3 है, जो विषम है।

इसलिए, यदि हम योग की गणना करते समय केवल 2 और 3 का उपयोग करते हैं, तो गिनती अधिकतम हो जाएगी। इसके आधार पर हम समस्या को दो स्थितियों में बाँट सकते हैं -

केस 1 - यदि N सम है, तो योग में सभी अभाज्य संख्याएँ 2 होंगी। तो, गिनती n/2 होगी।

केस 2 - यदि N विषम है, तो योग में सभी अभाज्य संख्याएँ 2 होंगी, केवल एक को छोड़कर जो कि 3 होगी। अतः, गणना (n-1/2) होगी।

उदाहरण

अधिकतम प्राइम खोजने के लिए प्रोग्राम जिसका योग C++ में दिए गए N के बराबर है

#include <iostream>
using namespace std;
int maxPrimeCount(int n){
   //For odd case the result will same as (n-1)/2
   return n / 2;
}
int main(){
   int n = 9;
   cout<<"The maximum number of primes whose sum is equal to "<<n<<" is "<<maxPrimeCount(n);
   return 0;
}

आउटपुट

The maximum number of primes whose sum is equal to 9 is 4

  1. दो बीएसटी से जोड़े की गणना करें जिनकी राशि सी ++ में दिए गए मान x के बराबर है

    हमें इनपुट के रूप में दो बाइनरी सर्च ट्री और एक वेरिएबल x दिया गया है। लक्ष्य प्रत्येक पेड़ से नोड्स के जोड़े को ढूंढना है ताकि नोड्स के मूल्य का योग x के बराबर हो। BST_1 से नोड 1 और BST_2 से नोड 2 लें और दोनों का डेटा भाग जोड़ें। यदि योग =x. वेतन वृद्धि की संख्या। आइए उदाहरणों से समझते हैं। इनपुट

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

    समस्या कथन आवश्यक एकल अंकों वाली अभाज्य संख्याओं की न्यूनतम संख्या ज्ञात कीजिए जिनका योग N के बराबर होगा। उदाहरण यदि N =9 है तो हमें 9 का योग बनाने के लिए 2 अभाज्य संख्याओं अर्थात 7 और 2 की आवश्यकता है। उदाहरण #include <iostream> using namespace std; bool isValidIndex(int i, int val) {  

  1. सी ++ प्रोग्राम किसी दिए गए नंबर के अंकों का योग करने के लिए

    C++ भाषा में अंकों के योग की गणना करने के लिए यहां एक उदाहरण दिया गया है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {