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

C++ में हार्मोनिक श्रृंखला का योग ज्ञात करने का प्रोग्राम


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

हार्मोनिक प्रोग्रेशन एक श्रृंखला है जिसका व्युत्क्रम एक अंकगणितीय प्रोग्रेशन होगा। अर्थात यदि हार्मोनिक प्रोग्रेशन 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 का सर्वांगसम अंतर है।

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

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

इनपुट

a = 3, d = 2, n = 5

आउटपुट

0.878211

व्याख्या

HP है 1/3, 1/5, 1/7, 1/9, 1/11।

योग = 1/3 + 1/5 + 1/7 + 1/9 + 1/11 = 0.878211

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

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

एल्गोरिदम

आरंभ करें - sumVal = 0, term = 0;

  • चरण 1 - i -> 1 से n तक लूप
    • चरण 1.1 - पद ढूंढें, term = 1/( a + (i-1)*(d).
  • चरण 1.2 - sumVal अपडेट करें, sumVal += term।
  • चरण 2 - sumVal प्रिंट करें।

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

उदाहरण

#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. - C++ में श्रृंखला 0, 0, 2, 1, 4, 2, 6, 3, 8... का N-वां पद ढूंढना

    इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य C++ में श्रृंखला 0, 0, 2, 1, 4, 2, 6, 3, 8... का N-वां पद ढूंढने के लिए एक प्रोग्राम बनाना है। समस्या विवरण दी गई श्रृंखला के Nवें पद को ढूंढना: 0, 0, 2, 1, 4, 2, 6, 3, 8 .... N पद हम श्रृंखला के सामान्य पद को ढूंढेंगे। उदाहरण इनपुट N = 8 आउटप

  1. - C++ में श्रृंखला a, b, b, c, c, c... का N-वां पद ढूंढना

    इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य C++ में श्रृंखला a, b, b, c, c, c... का N-वां पद ढूंढने के लिए एक प्रोग्राम बनाना है। समस्या विवरण श्रृंखला के Nवें पद को ढूंढना: a, b, b, c, c, c, d, d, d, d, .... N पद हमें श्रृंखला के सामान्य पद को ढूंढने की आवश्यकता है। उदाहरण इनपुट N = 7

  1. - C++ में श्रृंखला 1, 2, 11, 12, 21... का N-वां पद ढूंढना

    इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य C++ में श्रृंखला 1, 2, 11, 12, 21... का N-वां पद ढूंढने के लिए एक प्रोग्राम बनाना है। समस्या विवरण श्रृंखला के Nवें पद को ढूंढना: 1, 2, 11, 12, 21, 22, 111, 112, .... N पद हम श्रृंखला के सामान्य पद को ढूंढेंगे। उदाहरण इनपुट N = 8 आउटपुट 112 ह