इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा कार्य C++ में श्रृंखला 1, 2, 11, 12, 21… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है।
समस्या का विवरण
श्रृंखला का वां पद ज्ञात करने के लिए -
1, 2, 11, 12, 21, 22, 111, 112, .... Nterms
हम श्रृंखला का सामान्य पद ज्ञात करेंगे।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
एन =8
आउटपुट
112पी>
समाधान दृष्टिकोण
सामान्य पद प्राप्त करने के लिए, हमें श्रृंखला का बारीकी से निरीक्षण करने की आवश्यकता है। इस श्रृंखला में, हम देख सकते हैं कि मान में केवल 1 और 2 हैं। और प्रत्येक पद 1 और 2 का प्रत्यावर्तन है। अतः, सामान्य पद होगा,
$$T_{(N)}=T_{(n/2)}*10 + 1,\:if\:N\:is\:odd.$$
$$T_{(N)}=T_{((n/2)-1)}*10 + 2, if\:N\:is\:even.$$
उदाहरण
#include <iostream>
using namespace std;
int findNTerm(int N) {
if(N == 1)
return 1;
if(N == 2)
return 2;
int value;
if(N%2 == 0){
value = (findNTerm((N/2)-1)*10) + 2;
}
else
value = (findNTerm((N/2))*10) + 1; return value;
}
int main() {
int N = 12;
cout<<N<<"Th term of the series is "<<findNTerm(N);
return 0;
} आउटपुट
12Th term of the series is 212