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

C++ में दो संख्याओं के गुणजों की क्रमबद्ध सूची में Nवां गुणज


आपको तीन संख्याएं दी गई हैं। आपको पहले दो संख्याओं के गुणजों में से nवां गुणज ढूंढना है। आइए एक उदाहरण देखते हैं इसे और स्पष्ट रूप से समझने के लिए।

इनपुट

 x = 2 y = 3 n = 7

आउटपुट

 10

2 के पहले n गुणज हैं 2 4 6 8 10 12 14

3 के पहले n गुणज हैं 3 6 9 12 15 18 21

यदि दोनों गुणजों को जोड़कर क्रमबद्ध करें तो हमें 2 3 4 6 8 9 10 12 14 15 18 21 मिलते हैं और सूची से nवीं संख्या 10 है।

एल्गोरिदम

  • सभी गुणजों को स्टोर करने के लिए एक वेक्टर आरंभ करें।
  • x के पहले n गुणज ढूंढें और उन्हें उपरोक्त वेक्टर में जोड़ें।
  • अब, y के पहले n गुणज ढूंढें।
    • उन्हें वेक्टर में जोड़ें यदि वे पहले से वेक्टर में मौजूद नहीं हैं।
  • गुणजों को क्रमबद्ध करें।
  • वेक्टर से nवां गुणज प्रिंट करें।

कार्यान्वयन

निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:

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

int findNthMultiple(int x, int y, int n) { 
    vector<int> multiples; 
    for (int i = 1; i <= n; i++) { 
        multiples.push_back(x * i); 
    } 
    sort(multiples.begin(), multiples.end()); 
    for (int i = 1, k = n; i <= n && k; i++) { 
        if (!binary_search(multiples.begin(), multiples.end(), y * i)) { 
            multiples.push_back(y * i); 
            sort(multiples.begin(), multiples.end()); 
        } 
    } 
    return multiples[n - 1]; 
} 

int main() { 
    int x = 2, y = 3, n = 7; 
    cout << findNthMultiple(x, y, n) << endl; 
    return 0; 
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।

10

  1. - C++ प्रोग्राम: दो संख्याओं को स्वैप करें

    परिचयदो संख्याओं को स्वैप करने का प्रोग्राम बनाने के दो तरीके हैं। एक में टेम्प वेरिएबल का उपयोग शामिल है और दूसरा तरीका तीसरे वेरिएबल का उपयोग नहीं करता है। इन्हें विस्तार से समझाया गया है - टेम्प वेरिएबल का उपयोग करके दो संख्याओं को स्वैप करेंउदाहरण#include <iostream> using namespace std; i

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

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

  1. - C# में दो सॉर्टेड ऐरे को मर्ज करना

    दो सॉर्टेड ऐरे को मर्ज करना दो सॉर्टेड ऐरे को मर्ज करने के लिए, पहले दो सॉर्टेड ऐरे सेट करें: int[] array1 = { 1, 2 }; int[] array2 = { 3, 4 }; अब इन्हें एक लिस्ट में जोड़कर मर्ज करें: var list = new List<int>(); for (int i = 0; i < array1.Length; i++) { list.Add(array1[i]); li