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

सी ++ में हार्मोनिक श्रृंखला का योग खोजने का कार्यक्रम

इस समस्या में, हमें तीन संख्याएँ a, d, और n दिए गए हैं। हमारा काम सी ++ में हार्मोनिक श्रृंखला का योग खोजने के लिए एक प्रोग्राम बनाना है।

हार्मोनिक प्रगति एक श्रृंखला है जिसका प्रतिलोम एक समान्तर श्रेणी होगी। अर्थात। यदि एक हार्मोनिक प्रगति के लिए A1, A2, A3.. An, एक अंकगणितीय प्रगति 1/A1, 1/A2, 1/A3 है।

तो, एक सामान्य HP है

1/a, 1/(a+d), 1/(a+2d), … 1/(a + nd)

जहाँ 1/a पहला पद है। और d उल्टे AP का सामान्य अंतर है।

समस्या का विवरण - यहां, हमें पहला पद a, उभयनिष्ठ अंतर d और पदों की संख्या n दी जाएगी। एचपी का और हमें इसका योग निकालने की जरूरत है।

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

इनपुट

a = 3, d = 2, n = 5

आउटपुट

0.878211

स्पष्टीकरण

एचपी , ⅕, 1/7, 1/9, 1/11 है।

Sum = ⅓ + ⅕ + 1/7 + 1/9 + 1/11 = 0.878211

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

हम इस nवें पद की पुनरावृति करेंगे और HP के प्रत्येक पद का मान ज्ञात करेंगे और इसे योगवार में जोड़ देंगे। और अंत में sumVal लौटाएं।

एल्गोरिदम

आरंभ करें - समवैल =0, टर्म =0;

  • चरण 1 - लूप के लिए i -> 1 से n
    • चरण 1.1 - पद ज्ञात कीजिए, पद =1/( a + (i-1)*(d).
  • चरण 1.2 - समवैल, समवैल +=टर्म अपडेट करें।
  • चरण 2 - समवैल प्रिंट करें।

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

उदाहरण

#include <iostream>
using namespace std;
float findSeriesSum(int a, int d, int n){
   float sumVal = 0;
   float term = 0;
   for(float i = 1; i <= n; i++){
      term = (1.0)/(float)(a + (i-1)*d);
      sumVal += term;
   }
   return sumVal;
}
int main(){
   int n = 5, a = 3, d = 2;
   cout<<"The sum of HP is "<<findSeriesSum(a, d, n);
   return 0;
}

आउटपुट

The sum of HP is 0.878211

एक और तरीका योग खोजने के लिए रिकर्सन फ़ंक्शन का उपयोग कर सकता है।

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

उदाहरण

#include <iostream>
using namespace std;
float findSeriesSum(int a, int d, int n){
   if(n == 1){
      return (float)(1.0)/a;
   }
   float term = (1.0)/ (float)(a + (n-1)*d);
   return term + findSeriesSum(a, d, n-1);
}
int main(){
   int n = 5, a = 3, d = 2;
   cout<<"The sum of HP is "<<findSeriesSum(a, d, n);
   return 0;
}

आउटपुट

The sum of HP is 0.878211

  1. सी++ में श्रृंखला 0, 0, 2, 1, 4, 2, 6, 3, 8… के एन-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य C++ में श्रृंखला 0, 0, 2, 1, 4, 2, 6, 3, 8… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण दी गई श्रृंखला का वां पद ज्ञात करने के लिए- 0, 0, 2, 1, 4, 2, 6, 3, 8 .... एन शर्तें हम श्रृंखला का सामान्य पद ज्ञात करेंगे। समस्

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

    इस समस्या में, हमें एक संख्या N दी जाती है। हमारा कार्य C++ में श्रृंखला a, b, b, c, c, c… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण श्रृंखला का वां पद ज्ञात करने के लिए - a, b, b, c, c, c, d, d, d, d,....Nशब्द हमें श्रृंखला का सामान्य पद ज्ञात करना होगा। समस्या को समझ

  1. सी++ में श्रृंखला 1, 2, 11, 12, 21… के एन-वें पद को खोजने का कार्यक्रम

    इस समस्या में, हमें एक नंबर N दिया जाता है। हमारा कार्य C++ में श्रृंखला 1, 2, 11, 12, 21… के N-वें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण श्रृंखला का वां पद ज्ञात करने के लिए - 1, 2, 11, 12, 21, 22, 111, 112, .... Nterms हम श्रृंखला का सामान्य पद ज्ञात करेंगे। समस्या को समझने