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

C++ में सभी अभाज्य गुणनखंड और उनकी घातें प्रिंट करें


इस समस्या में, हमें एक संख्या N दी गई है, और हमें उन सभी अद्वितीय अभाज्य गुणनखंडों और उनकी घातों को ढूंढना है जो उस संख्या को विभाजित करते हैं।

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

इनपुट: 55 आउटपुट: 5 घात 1, 11 घात 1

व्याख्या -

55, 5 और 11 से विभाज्य है।

इस समस्या को हल करने का एक आसान तरीका N के अभाज्य गुणनखंड ढूंढना है। और फिर उस अभाज्य संख्या की घात ढूंढना जो संख्या N को विभाजित करती है और उसे प्रिंट करना।

एल्गोरिदम

कुशल दृष्टिकोण

चरण 1: एक सरणी s[N+1] ढूंढें। s[i] = N को विभाजित करने वाला i का अभाज्य गुणनखंड। चरण 2: i की सभी घातें ढूंढें। अभाज्य = s[N] और घात = 1। चरण 3: जब तक (N > 1) :    चरण 3.1: N /= s[N];    चरण 3.2: यदि (अभाज्य == s[N]) : घात++ चरण 4: अभाज्य और घात प्रिंट करें।

उदाहरण

#include<bits/stdc++.h> using namespace std; void primes(int N, int s[]){    vector <bool> prime(N+1, false);    for (int i=2; i<=N; i+=2)       s[i] = 2;    for (int i=3; i<=N; i+=2){       if (prime[i] == false){          s[i] = i;          for (int j=i; j*i<=N; j+=2){             if (prime[i*j] == false){                prime[i*j] = true;                s[i*j] = i;             }          }       }    } } void generatePrimeFactors(int N) {    int s[N+1];    primes(N, s);    cout<<"Factor\tPower"<<endl;    int prime = s[N];    int power = 1;    while (N > 1){       N /= s[N];       if (prime == s[N]){          power++;          continue;       }       cout<<prime<<"\t"<<power<<endl;       prime = s[N];       power = 1;    } } int main() {    int N = 55;    cout<<"The prime factors are and their powers are :\n";    generatePrimeFactors(N);    return 0; }

आउटपुट

अभाज्य गुणनखंड और उनकी घातें हैं -

Factor Power 5 1 11 1

  1. - C++ में घटना के क्रम में वर्ण और उनकी आवृत्तियाँ प्रिंट करें

    इस समस्या में, हमें लोअरकेस वर्णों की एक स्ट्रिंग दी गई है। और हमें स्ट्रिंग में आने वाले प्रत्येक वर्ण की आवृत्तियाँ ढूंढनी हैं। नीचे दिया गया उदाहरण इस समस्या के बारे में अधिक बताता है। Input : jskdk Output : j 1 s 1 k 2 d 1 व्याख्या - स्ट्रिंग में, वर्ण j, s, d एक बार आते हैं और k दो बार आता है।

  1. - C++ में 3 और 5 से विभाज्य सभी संख्याओं को प्रिंट करने का प्रोग्राम

    इस ट्यूटोरियल में, हम दिए गए संख्या से कम 3 और 5 से विभाज्य सभी संख्याओं को प्रिंट करने के प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक संख्या N दी जाएगी। हमारा कार्य N से कम उन सभी संख्याओं को प्रिंट करना है जो 3 और 5 दोनों से विभाज्य हैं। उदाहरण #include using namespace std; // 3 और 5 से विभाज

  1. C++ में फ्लिप-फ्लॉप के प्रकार और उनका रूपांतरण C++ में फ्लिप-फ्लॉप के प्रकार और उनका रूपांतरण

    फ्लिप-फ्लॉप अनुक्रमिक डिजिटल सर्किट हैं। फ्लिप-फ्लॉप के कुछ अलग-अलग प्रकार होते हैं। यहां हम फ्लिप-फ्लॉप के प्रकारों और एक फ्लिप-फ्लॉप से दूसरे में रूपांतरण के नियमों को देखेंगे।मूल रूप से चार प्रकार के फ्लिप-फ्लॉप होते हैं -SR फ्लिप-फ्लॉपD फ्लिप-फ्लॉपJK फ्लिप-फ्लॉपT फ्लिप-फ्लॉपSR फ्लिप-फ्लॉपSR फ्लि