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

C++ में उन सभी पूर्णांकों को प्रिंट करना जो दो दी गई संख्याओं की घातों के योग हैं


इस समस्या में, हमें दो संख्याएं a और b और एक पूर्णांक बाउंड दिया गया है और हमें बाउंड से कम उन सभी मानों को प्रिंट करना है जो a और b की घातों के योग हैं।

Bound >= a^i + b^j

उदाहरण

Input: a=2, b=3, bound=8 
Output: 2 3 4 5 7

इस समस्या को हल करने के लिए, हम दो वेरिएबल i और j का उपयोग करके नेस्टेड लूप का उपयोग करेंगे जो 0 से शुरू होते हैं। बाहरी लूप की समाप्ति शर्त x^i = bound होगी और आंतरिक लूप की समाप्ति शर्त x^i + y^j > bound होगी। आंतरिक लूप के प्रत्येक इटरेशन के लिए, हम x^i + y^j के मान को एक सॉर्टेड लिस्ट में संग्रहीत करेंगे जिसमें ऐसे सभी मान हों। और अंत में लिस्ट के सभी मान प्रिंट करें।

उदाहरण

हमारे समाधान के कार्यान्वयन को दिखाने वाला प्रोग्राम:

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

void powerSum(int x, int y, int bound) { 
    set<int> sumOfPowers; 
    vector<int> powY; 
    int i; 
    powY.push_back(1); 
    for (i = y; i < bound; i = i * y) 
        powY.push_back(i); 
    i = 0; 
    while (true) { 
        int powX = pow(x, i); 
        if (powX >= bound) 
            break; 
        for (auto j = powY.begin(); j != powY.end(); ++j) { 
            int num = powX + *j; 
            if (num <= bound) 
                sumOfPowers.insert(num); 
            else 
                break; 
        } 
        i++; 
    } 
    set<int>::iterator itr; 
    for (itr = sumOfPowers.begin(); itr != sumOfPowers.end(); itr++) { 
        cout << *itr << " "; 
    } 
} 

int main() { 
    int x = 2, y = 3, bound = 25; 
    cout << "Sum of powers of " << x << " and " << y << " less than " << bound << " are :\n"; 
    powerSum(x, y, bound); 
    return 0; 
}

आउटपुट

Sum of powers of 2 and 3 less than 25 are - 2 3 4 5 7 9 10 11 13 17 19 25

  1. C++ में लीफ नोड से दूरी K पर सभी नोड्स प्रिंट करना C++ में लीफ नोड से दूरी K पर सभी नोड्स प्रिंट करना

    इस समस्या में, हमें एक बाइनरी ट्री और एक संख्या K दी गई है। हमें ट्री के उन सभी नोड्स को प्रिंट करना है जो लीफ नोड से k दूरी पर हैं। बाइनरी ट्री बाइनरी ट्री एक विशेष ट्री है जिसके प्रत्येक नोड में अधिकतम दो नोड्स होते हैं (एक/दो/कोई नहीं)। लीफ नोड बाइनरी ट्री का लीफ नोड ट्री के अंत में स्थित नोड

  1. - C++ में दिए गए मान के बराबर योग वाले सभी अद्वितीय ट्रिपलेट्स ढूंढना

    यहां हम एक दिलचस्प समस्या देखेंगे। हमारे पास कुछ तत्वों के साथ एक सरणी है। एक योग मान दिया गया है। हमारा कार्य सरणी से ट्रिपलेट्स ढूंढना है, और जिनका योग दिए गए योग के समान है। मान लीजिए सरणी है {4, 8, 63, 21, 24, 3, 6, 1, 0}, और योग मान S = 18 है। तो ट्रिपलेट्स होंगे {4, 6, 8}। यदि एक से अधिक ट्रिप

  1. - C++ प्रोग्राम: दो संख्याएं जोड़ें

    परिचयजोड़ एक बुनियादी अंकगणितीय संक्रिया है। दो संख्याओं को जोड़ने वाला प्रोग्राम दो संख्याओं का जोड़ करता है और उनका योग स्क्रीन पर प्रिंट करता है। उदाहरण#include <iostream> using namespace std; int main() { int num1 = 15, num2 = 10, sum; sum = num1 + num2; cout << Sum of