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

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


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

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

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

इनपुट

START=20 END=25

आउटपुट

केवल 2 और 3 अभाज्य गुणनखंड वाली संख्याएं: 1

व्याख्या

प्रत्येक संख्या के अभाज्य गुणनखंड: 20 = 2*2*5 21 = 3*7 22 = 2*11 23 = 1*23 24 = 2*2*2*3 25 = 5*5 केवल 24 के 2 और 3 अभाज्य गुणनखंड हैं।

इनपुट

START=1000 END=1500

आउटपुट

केवल 2 और 3 अभाज्य गुणनखंड वाली संख्याएं: 4

व्याख्या

1024 1152 1296 1458 केवल 2 और 3 अभाज्य गुणनखंड वाली संख्याएं हैं।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

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

  • फ़ंक्शन twothreeFactors(int start, int end) रेंज चर लेता है और केवल 2 और 3 अभाज्य गुणनखंड वाली संख्याओं की संख्या लौटाता है।

  • प्रारंभिक चर count को 0 से आरंभ करें ऐसी संख्याओं के लिए।

  • फॉर लूप का उपयोग करके संख्याओं की रेंज को पार करें। i=start से i=end

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

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

  • यदि व्हाइल लूप के बाद num 1 है तो काउंट बढ़ाएं।

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

  • काउंट को परिणाम के रूप में लौटाएं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int twothreeFactors(int start, int end){    // 2 से शुरू करें ताकि 1 न गिना जाए    if (start == 1)       { start++; }    int count = 0;    for (int i = start; i <= end; i++) {       int num = i;       while(num>1){          // यदि 2 से विभाज्य है, तो 2 से विभाजित करें          if(num % 2 == 0)             { num /= 2; }          // यदि 3 से विभाज्य है, तो 3 से विभाजित करें          else if (num % 3 == 0)             { num /= 3; }          else //यदि न तो 2 और न ही 3 से विभाज्य है तो ब्रेक करें             { break; }       }       // इसका मतलब केवल 2 और 3 ही num के गुणनखंड हैं       if (num == 1)          { count++; }    }    return count; } int main(){    int START = 10, END = 20;    cout <<"केवल 2 और 3 अभाज्य गुणनखंड वाली संख्याएं:"<< twothreeFactors(START,END);    return 0; }

आउटपुट

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

केवल 2 और 3 अभाज्य गुणनखंड वाली संख्याएं: 3

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

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

  1. - 1 से N तक ऑलमोस्ट अभाज्य संख्याओं की गिनती खोजें C++ में

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

  1. - C++ में योग और GCD दिए जाने पर दो संख्याएं ढूंढना

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