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

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


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

Bound >= ai + bj

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

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

इस समस्या को हल करने के लिए, हम 0 से दो चर i और j का उपयोग करके नेस्टेड लूप का उपयोग करेंगे। बाहरी लूप की समाप्ति स्थिति होगी xi =बाउंड और इनर लूप की एंडिंग कंडीशन होगी xi + yj> बाउंड . आंतरिक लूप के प्रत्येक पुनरावृत्ति के लिए, हम xi + yi के मान को एक क्रमबद्ध सूची में संग्रहीत करेंगे जिसमें ऐसे सभी मान शामिल हैं। और फिर अंत में सूची के सभी मान प्रिंट करें।

उदाहरण

हमारे समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम -

#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 दूरी पर मौजूद सभी नोड्स को प्रिंट करें

    इस समस्या में, हमें एक बाइनरी ट्री और एक नंबर 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() {