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

सी++ प्रोग्राम क्रमांक 1 2 2 3 3 3 4 में n-वें पद को खोजने के लिए


इस समस्या में, हमें एक पूर्णांक N दिया जाता है। कार्य श्रृंखला 1 2 2 3 3 3 4… में n-वाँ पद ज्ञात करना है।

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

इनपुट

N = 6

आउटपुट

3

स्पष्टीकरण

nवें पद तक की श्रृंखला 1, 2, 2, 3, 3, 3, ...

. है

समाधान दृष्टिकोण

नेस्टेड लूप का उपयोग करके समस्या को हल करने का एक आसान तरीका है। लूप के लिए बाहरी 1 से n तक है। और आंतरिक लूप 1 से i (बाहरी लूप का पुनरावर्तक) तक है। आंतरिक लूप में प्रत्येक पुनरावृत्ति के लिए, श्रृंखला के तत्वों की संख्या की गणना करें और जब गिनती n के बराबर हो तो i का मान लौटाएं।

समस्या को हल करने के लिए एक अधिक कुशल दृष्टिकोण पैटर्न की स्थिति का उपयोग कर रहा है। अनुक्रम के तत्व श्रृंखला में उनकी स्थिति के साथ हैं -

Element 1: position 1
Element 2: position 2, 3
Element 3: position 4, 5, 6
Element 4: position 7, 8, 9, 10

इन मानों के लिए, हम श्रृंखला में तत्व की अंतिम स्थिति का उपयोग करके एक श्रृंखला बना सकते हैं, जो है,

1, 3, 6, 10, 15, 21, 28, ….

x पद में प्रकट होता है, 1 + 2 + 3 +… + (x-2) + (x-1)...

इसे n =x*(x-1)/2

. के रूप में सामान्यीकृत किया जा सकता है

2n =x 2 - x => x 2 - x - 2n =0

द्विघात समीकरण को हल करने के लिए सूत्र का उपयोग करके समीकरण को हल करें,

$$x=1/2*(1+\sqrt{1+8*n)}$$

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int findNthTerm(int n) {
   int x = (((1) + (double)sqrt(1 + (8 * n))) / 2);
   return x;
}
int main(){
   int n = 12;
   cout<<"The series is 1, 2, 2, 3, 3, 3, 4, 4, ...\n";
   cout<<n<<"th term of the series is "<<findNthTerm(n);
   return 0;
}

आउटपुट

The series is 1, 2, 2, 3, 3, 3, 4, 4, ...
12th term of the series is 5

  1. सी++ में श्रृंखला ए, बी, बी, सी, सी, सी… के एन-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य C++ में श्रृंखला a, b, b, c, c, c… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण श्रृंखला का वां पद ज्ञात करने के लिए - a, b, b, c, c, c, d, d, d, d,....Nशब्द हमें श्रृंखला का सामान्य पद ज्ञात करना होगा। समस्या को समझ

  1. सी++ में श्रृंखला 1, 2, 11, 12, 21… के एन-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा कार्य C++ में श्रृंखला 1, 2, 11, 12, 21… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण श्रृंखला का वां पद ज्ञात करने के लिए - 1, 2, 11, 12, 21, 22, 111, 112, .... Nterms हम श्रृंखला का सामान्य पद ज्ञात करेंगे। समस्या को समझने

  1. सी++ में श्रृंखला 3, 5, 33, 35, 53… के एन-वें पद को खोजने का कार्यक्रम

    इस ट्यूटोरियल में, हम सीरीज 3, 5, 33,35, 53… के N-वें टर्म को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे... इसके लिए हमें एक नंबर मुहैया कराया जाएगा। हमारा काम उस विशेष स्थान पर दी गई श्रृंखला के लिए शब्द खोजना है। उदाहरण #include <bits/stdc++.h> using namespace std; //finding the nth term in