इस समस्या में, हमें एक नंबर 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