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

C++ में N से कम या बराबर सभी अर्ध-अभाज्य संख्याएं प्रिंट करें


इस समस्या में, हमें एक पूर्णांक N दिया गया है। और हमें उन सभी अर्ध-अभाज्य संख्याओं को प्रिंट करना है जो N से कम या बराबर हैं।

इस समस्या को हल करने से पहले, आइए समझते हैं कि अर्ध-अभाज्य संख्या क्या है।

एक अर्ध-अभाज्य संख्या वह संख्या है जिसका मान दो अलग-अलग अभाज्य संख्याओं का गुणनफल है।

एक उदाहरण लेते हैं,

21 = 3*7 एक अर्ध-अभाज्य संख्या है।

25 = 5*5 एक अर्ध-अभाज्य संख्या नहीं है।

अब, N से कम या बराबर अर्ध-अभाज्य संख्याओं का एक उदाहरण लेते हैं।

इनपुट: N = 15 आउटपुट: 6 10 14 15

इस समस्या को हल करने के लिए, हमें N से कम या बराबर प्रत्येक संख्या लेनी होगी और जांचना होगा कि क्या इसके ठीक दो अलग-अलग अभाज्य गुणनखंड हैं।

सुझाव - हम अपना एल्गोरिदम 6 से भी शुरू कर सकते हैं क्योंकि सबसे छोटी अर्ध-अभाज्य संख्या 6 है।

उदाहरण

#include <bits/stdc++.h> using namespace std; vector<int>generateSemiPrimeNumbers(int n){    int index[n + 1];    for (int i = 1; i <= n; i++)       index[i] = i;    int countDivision[n + 1];    for (int i = 0; i < n + 1; i++)       countDivision[i] = 2;    for (int i = 2; i <= n; i++) {       if (index[i] == i && countDivision[i] == 2) {          for (int j = 2 * i; j <= n; j += i) {             if (countDivision[j] > 0) {                index[j] = index[j] / i;                countDivision[j]--;             }          }       }    }    vector<int> semiPrime;    for (int i = 2; i <= n; i++) {       if (index[i] == 1 && countDivision[i] == 0) semiPrime.push_back(i);    }    return semiPrime; } int main(){    int n = 15;    cout<<"Semi-prime numbers less that or equal to "<<n<<"are :\n";    vector<int>semiPrime = generateSemiPrimeNumbers(n);    for (int i = 0; i < semiPrime.size(); i++)       cout<<semiPrime[i]<<"\t";    return 0; }

आउटपुट

15 से कम या बराबर अर्ध-अभाज्य संख्याएं हैं -

6 10 14 15

  1. - C++ में लंबाई m से कम या बराबर अधिकतम योग सरणी ज्ञात करें

    इस समस्या में, हमें अलग-अलग लंबाई की n सरणियाँ दी गई हैं। हमारा कार्य लंबाई m से कम या बराबर अधिकतम योग सरणी ज्ञात करना है।हमें सरणियों से उप-सरणियाँ खोजनी हैं ताकि योग अधिकतम हो और सभी उप-सरणियों की संयुक्त लंबाई m के बराबर हो।आइए एक उदाहरण से समझते हैं:इनपुटn = 3, m = 4 arrOfArr[][] = {   &nb

  1. C++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल C++ में ऐरे में सभी अभाज्य संख्याओं का गुणनफल

    कुछ एलिमेंट्स के साथ एक इंटीजर ऐरे arr[] दिया गया है, कार्य उस ऐरे की सभी अभाज्य संख्याओं का गुणनफल निकालना है। अभाज्य संख्याएं वे संख्याएं होती हैं जो या तो 1 से विभाज्य होती हैं या स्वयं संख्या से, या एक अभाज्य संख्या वह संख्या है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख्या से विभाज्य नहीं ह

  1. C++ में मिन हीप में मान x से छोटे सभी नोड्स प्रिंट करना C++ में मिन हीप में मान x से छोटे सभी नोड्स प्रिंट करना

    इस समस्या में, हमें एक मिन हीप और एक मान x दिया गया है और हमें x से छोटे सभी नोड्स प्रिंट करने हैं। मिन हीप मिन हीप एक विशेष प्रकार का बाइनरी ट्री है जिसमें हर नोड का मान उसके चाइल्ड नोड के मान से कम होता है। उदाहरण X = 45 आउटपुट - 2 4 7 10 17 22 33 34 अब, इस समस्या को हल करने के लिए हमें पूरे