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

C++ में अभाज्य आवृत्ति वाले एरे तत्व


एरे (Array) समान डेटा प्रकार के तत्वों का एक कंटेनर है।

अभाज्य आवृत्ति (Prime Frequencies) का अर्थ है कि एरे के तत्व की घटनाओं की संख्या एक अभाज्य संख्या है।

इसलिए, इन परिभाषाओं के आधार पर समस्या अभाज्य आवृत्ति वाले एरे तत्वों को खोजने की है। हमें एक स्ट्रिंग/एरे दिया गया है। हमें वर्णों की आवृत्ति गिननी है और जांचना है कि क्या आवृत्ति अभाज्य है और फिर उन तत्वों की गिनती करनी है जिनकी अभाज्य आवृत्ति है।

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

इनपुट: str = "helloworld" आउटपुट: 2

व्याख्या

वर्णों की घटनाओं की गिनती है -

h → 1, e → 1, l → 3, o → 2, w → 1, r → 1, d → 1

l अभाज्य संख्या बार यानी 3 बार आता है और o अभाज्य संख्या बार यानी 2 बार आता है।

स्ट्रिंग को पार करना शुरू करें और C++ में मैप का उपयोग करके प्रत्येक वर्ण की घटनाओं को गिनें और जांचें कि क्या घटना अभाज्य है या नहीं। यदि अभाज्य है तो गिनती बढ़ाएं अन्यथा नहीं।

एल्गोरिदम

तत्वों की अभाज्य आवृत्ति की जांच करने के लिए हम तत्वों की घटनाओं की जांच करेंगे और गिनेंगे कि गिनती अभाज्य है या नहीं। इसके लिए हम मैप को ध्यान में रखेंगे।

उदाहरण

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int check_prime(int n) {
    if (n <= 1)
        return 0;
    if (n <= 3)
        return 1;
    if (n % 2 == 0 || n % 3 == 0)
        return 0;
    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return 0;
    return 1;
}

int countPrimeFrequent(string s) {
    int count = 0;
    unordered_map<char, int> mp;
    for (int i = 0; i < s.length(); i++)
        mp[s[i]]++;
    for (auto it = mp.begin(); it != mp.end(); it++) {
        if (check_prime(it->second))
            count++;
    }
    return count;
}

int main() {
    string s = "helloworld";
    cout << countPrimeFrequent(s);
    return 0;
}

आउटपुट

The repeat elements of the array are : 2

  1. - C++ में दूसरे ऐरे का उपयोग करके ऐरे तत्वों को अधिकतम करना

    समस्या कथन आकार n के दो ऐरे दिए गए हैं, दूसरे ऐरे के तत्वों का उपयोग करके पहले ऐरे को अधिकतम करें जैसे कि नया बना ऐरे दोनों ऐरे के n महानतम लेकिन अद्वितीय तत्वों को समाहित करे, दूसरे ऐरे को प्राथमिकता देते हुए यानी दूसरे ऐरे के सभी तत्व पहले ऐरे से पहले दिखाई दें। तत्वों के प्रकट होने का क्रम आउटपु

  1. - C++ में ऐरे में हर K-वें प्राइम नंबर का उत्पाद

    n प्राइम नंबर्स वाला एक ऐरे arr[n] और k दिया गया है; कार्य ऐरे में हर k-वें प्राइम नंबर का उत्पाद ढूंढना है। जैसे, हमारे पास एक ऐरे arr[] = {3, 5, 7, 11} और k = 2 है तो हर k के बाद प्राइम नंबर यानी 5 और 11 हमें उनका उत्पाद ढूंढना होगा जो 5x11 = 55 होगा और परिणाम को आउटपुट के रूप में प्रिंट करना हो

  1. - 0 से N-1 तत्वों वाले स्थिर ऐरे में O(1) स्पेस में डुप्लीकेट खोजें C++ में

    मान लीजिए हमारे पास 0 से n-1 तक की संख्याओं की एक सूची है। एक संख्या कई बार दोहराई जा सकती है। हमें बिना किसी अतिरिक्त स्पेस के दोहराने वाली संख्याओं को खोजना है। यदि n = 7 का मान है, और सूची [5, 2, 3, 5, 1, 6, 2, 3, 4, 5] जैसी है। उत्तर 5, 2, 3 होगा। इसे हल करने के लिए, हमें इन चरणों का पालन करना ह