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

श्रेणी से उन संख्याओं की गणना करें जिनके अभाज्य गुणनखंड C++ में केवल 2 और 3 हैं

संख्याओं की श्रेणी को परिभाषित करने के लिए हमें दो नंबर START और END दिए गए हैं। लक्ष्य उन संख्याओं को खोजना है जिनके अभाज्य गुणनखंड केवल 2 और 3 हैं और [START,END] की सीमा में हैं।

हम इसे START से END तक की संख्याओं को पार करके करेंगे और प्रत्येक संख्या के लिए हम जांच करेंगे कि क्या संख्या केवल 2 और 3 से विभाज्य है। यदि विभाज्य है, तो इसे विभाजित करें और इसे कम करें। यदि नहीं, तो लूप तोड़ दें। अंत में यदि संख्या को घटाकर 1 कर दिया जाता है तो उसके गुणनखंड केवल 2 और 3 होते हैं।

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

इनपुट

START=20 END=25

आउटपुट

Numbers with only 2 and 3 as prime factors: 1

स्पष्टीकरण

Prime factors of each number:
20 = 2*2*5
21 = 3*7
22 = 2*11
23 = 1*23
24 = 2*2*2*3
25 = 5*5
Only 24 has 2 and 3 as prime factors.

इनपुट

START=1000 END=1500

आउटपुट

Numbers with only 2 and 3 as prime factors: 4

स्पष्टीकरण

1024 1152 1296 1458 are the numbers with only 2 and 3 as prime factors

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

  • हम एक पूर्णांक START और END को श्रेणी चर के रूप में लेते हैं।

  • फंक्शन टूथ्रीफैक्टर्स(इंट स्टार्ट, इंट एंड) रेंज वेरिएबल लेता है और केवल प्राइम फैक्टर के रूप में 2 और 3 के साथ संख्याओं की संख्या लौटाता है।

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

  • लूप के लिए उपयोग कर संख्याओं की ट्रैवर्स श्रेणी। i=शुरू से i=अंत तक

  • अब प्रत्येक संख्या के लिए num=i, जबकि लूप का उपयोग करके जांचें कि क्या num%2==0, इसे विभाजित करें।

  • अगर num%3==0, इसे विभाजित करें। यदि नहीं, तो दोनों समय के लूप को तोड़ते हैं

  • अगर थोड़ी देर के बाद लूप नंबर 1 है तो गिनती बढ़ाएं।

  • सभी लूपों के अंत में काउंट की कुल संख्या होगी जिसमें केवल 2 और 4 अभाज्य गुणनखंड होंगे।

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int twothreeFactors(int start, int end){
   // Start with 2 so that 1 doesn't get counted
   if (start == 1)
      { start++; }
   int count = 0;
   for (int i = start; i <= end; i++) {
      int num = i;
      while(num>1){
         // if divisible by 2, divide it by 2
         if(num % 2 == 0)
            { num /= 2; }
         // if divisible by 3, divide it by 3
         else if (num % 3 == 0)
            { num /= 3; }
         else //if divisible by neither 2 nor 3 break
            { break; }
      }
      // means only 2 and 3 are factors of num
      if (num == 1)
         { count++; }
   }
   return count;
}
int main(){
   int START = 10, END = 20;
   cout <<"Numbers with only 2 and 3 as prime factors:"<< twothreeFactors(START,END);
   return 0;
}

आउटपुट

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

Numbers with only 2 and 3 as prime factors:3

  1. सी++ में अभाज्य संख्याएं और फाइबोनैचि

    इस समस्या में, हमें एक संख्या n दी गई है। हमारा काम सभी अभाज्य और फाइबोनैचि संख्याओं को n से कम या उसके बराबर प्रिंट करना है। आइए समस्या को समझने के लिए एक उदाहरण लेते हैं Input: n = 30 Output: 2 3 5 13 स्पष्टीकरण 30 से कम फाइबोनैचि संख्याएं हैं:1 1 2 3 5 8 13 21. इन संख्याओं में से अभाज्य संख्

  1. C++ में 1 से N तक लगभग अभाज्य संख्याओं की संख्या ज्ञात कीजिए

    मान लीजिए कि हमारे पास एक संख्या N है। हमें 1 से N के बीच लगभग अभाज्य संख्याएँ ज्ञात करनी हैं। एक संख्या लगभग अभाज्य कहलाती है जब उसके ठीक दो अलग-अलग गुणनखंड हों। संख्याओं में कितने भी अभाज्य गुणनखंड हो सकते हैं, लेकिन दो अभाज्य गुणनखंड होने चाहिए। तो अगर N 2 है, तो आउटपुट 2 होगा। दो नंबर 6 और 10 है

  1. ऐसी दो संख्याएँ ज्ञात कीजिए जिनका योग और GCD C++ में दिया गया है

    हमारे पास दो संख्याओं a और b का योग और gcd है। हमें a और b दोनों संख्याएँ ज्ञात करनी हैं। यदि यह संभव नहीं है, तो वापसी -1। मान लीजिए कि योग 6 है और gcd 2 है, तो संख्याएँ 4 और 2 हैं। दृष्टिकोण ऐसा है, जैसा कि GCD दिया जाता है, तो ज्ञात होता है कि संख्याएँ इसके गुणज होंगी। अब निम्नलिखित चरण हैं य