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

सी++ प्रोग्राम शृंखला के nवें टर्म को खोजने के लिए 1 2 2 4 4 4 4 8 8 8 8 8 8 8 8 ...

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

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

इनपुट

N = 7

आउटपुट

4

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

समस्या को हल करने का एक सरल तरीका nवें स्थान पर पद खोजने के लिए लूप का उपयोग करना है। प्रत्येक पुनरावृत्ति के बाद शर्तों को दोगुना करके अपडेट किया जाएगा। और इसे टर्म काउंटर में जोड़ रहे हैं।

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

उदाहरण

#include <iostream>
using namespace std;
int calcNthTerm(int N) {
   int termCounter = 0, termValue = 1;
   while (termCounter < N) {
      termCounter += k;
      termValue *= 2;
   }
   return termValue / 2;
}
int main() {
   int N = 10;
   cout<<N<<"th term of the series is "<<calcNthTerm(N);
   return 0;
}

आउटपुट

10th term of the series is 8
. है

कुशल दृष्टिकोण

समस्या को हल करने का एक प्रभावी तरीका श्रृंखला का सामान्य शब्द खोजना है।

Here, are terms and their last index,
1 -> last index = 1.
2 -> last index = 3.
4 -> last index = 7.
8 -> last index = 15.
.
.
T(N) -> last index = 2*(T(N)) - 1
Also, T(N) is always of a power of 2, i.e. T(N) = 2m
2m lies in the series till the index 2m+1-1.

शब्द खोजने के लिए हम 2 (m) . के मान की गणना कर सकते हैं - 1 एन का उपयोग कर।

यह 2 m . बनाता है - 1 <एन.

2m - 1 < N
So, m < log2(N + 1)

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

उदाहरण

#include <iostream>
#include <math.h>
using namespace std;
int calcNthTerm(int N) {
   return ( pow(2, (floor)(log(N + 1) / log(2)) ) ) ;
}
int main() {
   int N = 10;
   cout<<N<<"th term of the series is "<<calcNthTerm(N);
   return 0;
}

आउटपुट

10th term of the series is 8
. है
  1. सी++ में श्रृंखला 3, 6, 18, 24, ... के एन-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य C++ में श्रृंखला 3, 6, 18, 24, ... के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण -श्रृंखला का वां पद ज्ञात करने के लिए - 3, 6, 18, 24, 45, 54, 84 … एन शर्तें हमें दी गई श्रृंखला के लिए सामान्य सूत्र खोजने की जरूरत है। स

  1. C++ में श्रंखला 3 , 5 , 21 , 51 , 95 ,… के N-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य C++ में श्रृंखला 3, 5, 21, 51, 95, ... के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण −श्रृंखला के नौवें पद ज्ञात करने के लिए- 3, 5, 21, 51, 95, 153, ... एन-शर्तें हमें श्रृंखला का सामान्य सूत्र खोजने की आवश्यकता है, जो ए

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

    इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा काम C++ में दी गई श्रृंखला में N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण दी गई श्रृंखला का योग ज्ञात करने के लिए - 1, 1, 2, 3, 4, 9, 8, 27, 16, 81, 32, 243, 64, 729, 128, 2187, 256, ... NTerms हम श्रृंखला का सामान्य पद ज्ञात