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

C++ में x^1, x^2, ..., x^n से प्राप्त मानों के अंकों का फ्रीक्वेंसी ऐरे बनाएं


मान लीजिए हमारे पास दो पूर्णांक x और n हैं। हमें वह ऐरे ढूंढना है जिसमें इंडेक्स संख्याओं की आवृत्ति हो जो (x^1, x^2,... x^(n-1), x^n) में आती हैं। तो यदि x = 15 और n = 3, तो आउटपुट [0, 1, 2, 2, 0, 3, 0, 1, 0, 0] होगा। जैसा कि हम जानते हैं कि x^1 से x^n तक के मान 15, 225 और 3375 हैं। तो फ्रीक्वेंसी ऐरे 0, 1, 2, 2, 0, 3, 0, 1, 0, 0 है

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • 0 से 9 तक के अंकों की गिनती स्टोर करने के लिए फ्रीक्वेंसी काउंट ऐरे बनाए रखें।

  • x^1 से x^n के प्रत्येक अंक को ट्रैवर्स करें। प्रत्येक अंक के लिए फ्रीक्वेंसी काउंट ऐरे में संबंधित इंडेक्स में 1 जोड़ें

  • ऐरे प्रदर्शित करें।

उदाहरण

#include <iostream> 
#include <cmath> 
using namespace std; 

void digitCount(double val, long arr[]) {
    while ((long)val > 0) {
        long digit = (long)val % 10;
        arr[(int)digit]++;
        val = (long)val / 10;
    }
}

void generateFreqArray(int x, int n) {
    long freq_count[10] = {0};
    for (int i = 1; i <= n; i++) {
        double val = pow((double)x, (double)i);
        digitCount(val, freq_count);
    }
    cout << "[";
    for (int i = 0; i <= 9; i++) {
        cout << freq_count[i] << " ";
    }
    cout << "\b]";
}

int main() {
    int x = 15, n = 3;
    cout << "The frequency array is: ";
    generateFreqArray(x, n);
}

आउटपुट

The frequency array is: [0 1 2 2 0 3 0 1 0 0]

  1. - C++ में दी गई रेंज के सभी अंकों को शब्दों में बदलने का प्रोग्राम

    मान लीजिए हमारे पास दो अंक a और b हैं। हमें प्रत्येक अंक को शब्दों में बदलना है और उन्हें एक-एक करके प्रिंट करना है। अंकों को शब्दों में प्रिंट करने का मतलब है कि अंक 5 के लिए, यह Five प्रिंट करना चाहिए।उदाहरण के लिए, यदि इनपुट a = 2, b = 6 है, तो आउटपुट होगा:Two Three Four Five Sixसमाधान दृष्टिकोणइ

  1. - C++ में M अंकों से बने N अंकों की 5 से विभाज्य संख्याएं

    हमें एक संख्या N दी गई है साथ में M अंकों की एक सरणी। हमारा काम दिए गए M अंकों से बनी N अंकों की उन संख्याओं की संख्या ज्ञात करना है जो 5 से विभाज्य हैं। आइए कुछ उदाहरण देखते हैं समस्या के इनपुट और आउटपुट को समझने के लिए। इनपुट N = 2 M = 3 arr = {5, 6, 3} आउटपुट 2 दिए गए सरणी से 2 N अंकों की सं

  1. C++ में दिए गए प्रीऑर्डर ट्रैवर्सल से फुल k-एरी ट्री बनाना C++ में दिए गए प्रीऑर्डर ट्रैवर्सल से फुल k-एरी ट्री बनाना

    हमें एक सरणी arr[] दी गई है जिसमें k-एरी ट्री का प्रीऑर्डर ट्रैवर्सल क्रम में है। लक्ष्य उसी k-एरी ट्री को उससे बनाना और उसका पोस्टऑर्डर ट्रैवर्सल प्रिंट करना है। एक फुल k-एरी ट्री वह है जिसमें रूट नोड के 0 या k चाइल्ड होते हैं यानी अधिकतम k चाइल्ड। उदाहरण के लिए इनपुट int arr[] = {2, 5, 1, 3, 6, 7,