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

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


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

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

उदाहरण से समझते हैं

इनपुट

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

आउटपुट

शर्त को पूरा करने वाली संख्याएं: 3

व्याख्या

समान अभाज्य संख्याओं के योग के रूप में संख्याएं: 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}

आउटपुट

शर्त को पूरा करने वाली संख्याएं: 1

व्याख्या

समान अभाज्य संख्याओं के योग के रूप में संख्याएं: 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 को इनपुट के रूप में लेता है और उन तत्वों की संख्या लौटाता है जिन्हें समान समता वाले अभाज्य संख्याओं के योग के रूप में दर्शाया जा सकता है।

  • प्रारंभिक चर count को 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) //संख्या केवल सम है{          if(arr[i]!=0){             if(arr[i]!=2)                { count++; } //न तो 0 और न ही 2          }       }    }    return count; } int main(){    int Arr[]={ 12, 5 , 15, 8, 100, 40 };    int Length= sizeof(Arr)/sizeof(Arr[0]);    cout <<endl<< "शर्त को पूरा करने वाली संख्याएं: "<<sumofparityPrimes(Arr,Length);    return 0; }

आउटपुट

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

शर्त को पूरा करने वाली संख्याएं: 4

  1. - C++ में समान सेट बिट्स वाली संख्याओं को जोड़कर अधिकतम योग (Maximum sum by adding numbers with same number of set bits)

    समस्या कथन N संख्याओं की एक सरणी दी गई है, कार्य उन संख्याओं को जोड़कर प्राप्त किए जा सकने वाले अधिकतम योग को ढूंढना है जिनमें समान संख्या में सेट बिट्स (set bits) हैं। उदाहरण यदि इनपुट सरणी {2, 5, 8, 9, 10, 7} है तो आउटपुट 24 होगा: 2 में सेट बिट्स की संख्या 1 है 5 में सेट बिट्स की संख्या 2 है 8 म

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

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

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

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