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