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

उन संख्याओं की गणना करें जिन्हें C++ . में समान समता अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है

हमें आकार N के सकारात्मक पूर्णांकों की एक सरणी Arr[] दी गई है। लक्ष्य उस सरणी में तत्वों की संख्या की गणना करना है जिसे समता अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है, अर्थात उन्हें समान अभाज्य संख्याओं के योग के रूप में दिखाया जा सकता है। संख्या। भूतपूर्व; 4=2+2, 6=3+3 या 2+2+2

किन्हीं दो विषम या सम अभाज्य संख्याओं का योग सदैव सम होगा। और 0 और 2 को छोड़कर सभी सम संख्याओं को समान अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है।

आइए उदाहरणों से समझते हैं।

इनपुट

Arr[] = { 2, 5, 10, 15, 20, 25 }

आउटपुट

Number which satisfy condition : 3

स्पष्टीकरण

Numbers as sum of same primes:
Arr[0] = 2 X count=0
Arr[1] = 5 : X count=0
Arr[2] = 10 :5+5 count=1
Arr[3] = 15 : X count=1
Arr[4] = 20 : 5+5+5+5 count=2
Arr[5] = 25 : X count=2

इनपुट

Arr[] = { 0, 2, 4, 11, 13}

आउटपुट

Number which satisfy condition : 1

स्पष्टीकरण

Numbers as sum of same primes:
Arr[0] = 0 : X count=0
Arr[1] = 2 : X count=0
Arr[2] = 4 : 2+2 count=1
Arr[3] = 11 : X count=1
Arr[4] = 13 : X count=1

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम लंबाई N के धनात्मक पूर्णांकों की एक सरणी लेते हैं..

  • फ़ंक्शन sumofparityPrimes(int arr[],int n) सरणी और n को इनपुट के रूप में लेता है और उन तत्वों की संख्या देता है जिन्हें समता अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है।

  • ऐसी संख्याओं के लिए प्रारंभिक चर गणना को 0 के रूप में लें..

  • लूप के लिए उपयोग कर ट्रैवर्स सरणी।

  • प्रत्येक तत्व के लिए यदि यह सम है ( arr[i]%2==0 )।

  • फिर जांचें कि यह न तो 0 है और न ही 2. यदि सही वेतन वृद्धि की गणना है।

  • लूप के अंत में परिणाम के रूप में गिनती लौटाएं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int sumofparityPrimes(int arr[],int n){
   int count = 0;
   for(int i=0;i<n;i++){
      if(arr[i]%2==0) //num is even only{
         if(arr[i]!=0){
            if(arr[i]!=2)
               { count++; } //neither 0 nor 2
         }
      }
   }
   return count;
}
int main(){
   int Arr[]={ 12, 5 , 15, 8, 100, 40 };
   int Length= sizeof(Arr)/sizeof(Arr[0]);
   cout <<endl<< "Number which satisfy condition : "<<sumofparityPrimes(Arr,Length);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Number which satisfy condition : 4

  1. C++ में समान संख्या में सेट बिट्स के साथ संख्याओं को जोड़कर अधिकतम योग

    समस्या कथन N संख्याओं की एक सरणी को देखते हुए, कार्य अधिकतम योग ज्ञात करना है जो समान संख्या में सेट बिट्स के साथ संख्याओं को जोड़कर प्राप्त किया जा सकता है उदाहरण यदि इनपुट ऐरे {2, 5, 8, 9, 10, 7} है तो आउटपुट 14 होगा - 2 में सेट बिट्स की संख्या 1 है 5 में सेट बिट्स की संख्या 2 है 8 में

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

    मान लीजिए हमारे पास एक नंबर है। हमें इसे दो प्रचुर संख्या के योग के रूप में व्यक्त करना है, यदि हाँ, तो संख्याओं को प्रिंट करें, अन्यथा -1 को प्रिंट करें। एक संख्या को प्रचुर संख्या कहा जाता है, संख्या के सभी उचित भाजक का योग होता है, जिसे योग (एन) द्वारा दर्शाया जाता है, संख्या के मूल्य से अधिक होत

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

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