इस समस्या में, हमें एक पूर्णांक N दिया जाता है, जो केवल 4 और 7 वाली संख्याओं की एक श्रृंखला को दर्शाता है।
श्रृंखला 4, 7, 44, 47, 74, 77, …
. हैकार्य केवल 2 अंकों (और 7) की अनुमति के साथ श्रृंखला में n-वें तत्व को खोजना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
N = 4,
आउटपुट
47
स्पष्टीकरण
The series is: 4, 7, 44, 47, ….
समाधान दृष्टिकोण
समस्या का एक सरल समाधान Nth नंबर तक श्रृंखला बनाना है। यह आसान है, यदि वर्तमान संख्या का अंतिम अंक 7 है। तो पिछली और अगली संख्याओं का अंतिम अंक 4 है।
तो, हम पहली और दूसरी संख्या से शुरू करेंगे और फिर अगले तत्व पर आगे बढ़ेंगे।
इसके लिए, हम एक सरणी श्रृंखला [n+1] बनाएंगे।
For index series[1] put 4 For index series[2] put 7
फिर N तक के क्रमागत मानों के लिए, दिए गए अनुक्रमणिका i,
. के लिए मान ज्ञात कीजिएIf i is odd, series[i] = series[i/2]*10 + 4 If i is even, series[i] = series[i/2]*10 + 7
n पुनरावृत्तियों के बाद, श्रृंखला [n] पर वापसी मान।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> using namespace std; int findNthSeriesElement(int N) { int series[N+1]; series[1] = 4; series[2] = 7; for (int i=3; i<=N; i++) { if (i%2 != 0) series[i] = series[i/2]*10 + 4; else series[i] = series[(i/2)-1]*10 + 7; } return series[N]; } int main() { int N = 9; cout<<"The "<<N<<"th element of the array is "<<findNthSeriesElement(N); return 0; }
आउटपुट
The 9th element of the array is 474